diff --git a/adsb-multi-portal-feeder/CHANGELOG.md b/adsb-multi-portal-feeder/CHANGELOG.md index 511ee07..c4abc85 100644 --- a/adsb-multi-portal-feeder/CHANGELOG.md +++ b/adsb-multi-portal-feeder/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [1.0.0] - 2021-03-28 + +- Update to 1.12.0 (now with planefinder support) +- Allow configuration options containing whitespaces + ## [0.1.37] - 2021-03-18 - Update to 1.10.1 - now with adsbexchange support. See [#67](https://github.com/MaxWinterstein/homeassistant-addons/issues/67#). diff --git a/adsb-multi-portal-feeder/Dockerfile b/adsb-multi-portal-feeder/Dockerfile index b7a3f86..e2c0a15 100644 --- a/adsb-multi-portal-feeder/Dockerfile +++ b/adsb-multi-portal-feeder/Dockerfile @@ -1,4 +1,4 @@ -FROM thomx/fr24feed-piaware:1.10.1 +FROM thomx/fr24feed-piaware:1.12.0 # add bashio (thx https://github.com/hassio-addons/addon-debian-base/blob/main/base/Dockerfile#L47) ADD https://github.com/hassio-addons/bashio/archive/v0.14.3.tar.gz /tmp/bashio.tar.gz diff --git a/adsb-multi-portal-feeder/README.md b/adsb-multi-portal-feeder/README.md index 8f78f80..13c178b 100644 --- a/adsb-multi-portal-feeder/README.md +++ b/adsb-multi-portal-feeder/README.md @@ -1,8 +1,8 @@ -# Home Assistant Add-On: dump1090 based feeder for FlightRadar24, FlightAware and ADSBexchange +# Home Assistant Add-On: dump1090 based feeder for FlightRadar24, FlightAware, ADSBexchange and Plane Finder Buy Me a Coffee at ko-fi.com -Add-on to feed ADS-B data from a cheap USB ADS-B Stick (e.g. [Nooelec NESDR Mini](https://www.amazon.com/gp/product/B009U7WZCA)) to FlightRadar24, FlightAware or ADSBexchange. +Add-on to feed ADS-B data from a cheap USB ADS-B Stick (e.g. [Nooelec NESDR Mini](https://www.amazon.com/gp/product/B009U7WZCA)) to FlightRadar24, FlightAware, ADSBexchange and Plane Finder. ![screenshot](https://raw.githubusercontent.com/MaxWinterstein/homeassistant-addons/main/adsb-multi-portal-feeder/images/screenshot.png) @@ -15,7 +15,7 @@ I just added a few sprinkles to make it work with Home Assistant. ## Installation - If not already done, add the Add-on repostitory ([see](https://github.com/MaxWinterstein/homeassistant-addons#installation)) -- If you want to share to FlightRadar24 and/or FlightAware and/or ADSBexchange, generate needed keys ([see below](https://github.com/MaxWinterstein/homeassistant-addons/tree/main/adsb-multi-portal-feeder#flightaware-feeder-id--flightrader24-key--adsbexchange-uuid)) +- If you want to share to FlightRadar24 and/or FlightAware and/or ADSBexchange and/or Plane Finder, generate needed keys ([see below](https://github.com/MaxWinterstein/homeassistant-addons/tree/main/adsb-multi-portal-feeder#flightaware-feeder-id--flightrader24-key--adsbexchange-uuid)) - If you want to use the dump1090 WebInterface (like the screenshot above) you need to set Lat/Lon for your location ([see below(https://github.com/MaxWinterstein/homeassistant-addons/tree/main/adsb-multi-portal-feeder#latitude--longitude)) ## Sensors for Home Assistant @@ -38,9 +38,20 @@ resource: http://f1c878cb-adsb-multi-portal-feeder:8754/monitor.json The whole configuration is meant to work alike the original docker image. See [docker-fr24feed-piaware-dump1090](https://github.com/Thom-x/docker-fr24feed-piaware-dump1090) for more info. -I pre-provivde the (i guess) most used workflow: Send data from USB ADB-S stick to FlightRadar24, FlightAware and ADSBexchange and have a nice little web based overview as Home Assistant menu entry. +I pre-provivde the (i guess) most used workflow: Send data from USB ADB-S stick to FlightRadar24, FlightAware, ADSBexchange and Plane Finder and have a nice little web based overview as Home Assistant menu entry. -### FlightAware Feeder ID / FlightRader24 KEY / ADSBexchange UUID +If you want to add anything else just add the corresponding environment variable as config option. +You might need to press the three little dots in the upper right corner and choose `Edit in YAML`. + +E.g.: You want to change the default tracker on the HTML site from FlightAware to Flightradar24? + +```json +... +HTML_DEFAULT_TRACKER: 'Flightradar24' +... +``` + +### FlightAware Feeder ID / FlightRader24 KEY / ADSBexchange UUID / Plane Finder Sharecode There are multiple options to obtain the needed keys to supply data towards the platforms. Running the original image as interactive docker container is one of them. @@ -56,19 +67,6 @@ You can - Use Google Maps for this: Go to https://www.google.com/maps/ and just right click at your house. It should display the lat/long - Find it through some website: https://latitudelongitude.org/ -### All the other things through envrironment variables - -If you want to do anything more fancy feel free to just add the corresponding environment variable as config option. -You might need to press the three little dots in the upper right corner and choose `Edit in YAML`. - -E.g.: You want to disable the HTTP service to save a few MegaBytes of RAM? - -```json -... -SERVICE_ENABLE_HTTP: false -... -``` - ## Accessing the UI - This Add-On provides ingress functionality to some nice map of received data. diff --git a/adsb-multi-portal-feeder/config.json b/adsb-multi-portal-feeder/config.json deleted file mode 100644 index 98d6729..0000000 --- a/adsb-multi-portal-feeder/config.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "ADS-B Multi-Portal Feeder", - "version": "0.1.37", - "stage": "experimental", - "ximage": "maxwinterstein/homeassistant-addon-adsbmultiportalfeeder-{arch}", - "slug": "adsb-multi-portal-feeder", - "description": "Dump1090 based feeder for FlightRadar24 and FlightAware", - "url": "https://github.com/MaxWinterstein/homeassistant-addons/", - "ingress": true, - "init": false, - "ingress_port": 8080, - "panel_title": "ADS-B Feeder", - "panel_icon": "mdi:airplane", - "arch": ["armhf", "armv7", "aarch64", "amd64"], - "boot": "auto", - "options": { - "SERVICE_ENABLE_FR24FEED": false, - "FR24FEED_FR24KEY": "", - "PIAWARE_FEEDER_DASH_ID": "", - "SERVICE_ENABLE_PIAWARE": false, - "HTML_SITE_LAT": 50.033056, - "HTML_SITE_LON": 8.570556, - "SERVICE_ENABLE_ADSBEXCHANGE": false, - "ADSBEXCHANGE_UUID": "", - "ADSBEXCHANGE_STATION_NAME": "", - "MLAT_EXACT_LAT": 50.033056, - "MLAT_EXACT_LON": 8.570556, - "MLAT_ALTITUDE_MSL_METERS": 0 - }, - "schema": { - "SERVICE_ENABLE_FR24FEED": "bool", - "FR24FEED_FR24KEY": "str?", - "SERVICE_ENABLE_PIAWARE": "bool", - "PIAWARE_FEEDER_DASH_ID": "str?", - "HTML_SITE_LAT": "float?", - "HTML_SITE_LON": "float?", - "SERVICE_ENABLE_ADSBEXCHANGE": "bool", - "ADSBEXCHANGE_UUID": "str?", - "ADSBEXCHANGE_STATION_NAME": "str?", - "MLAT_EXACT_LAT": "float?", - "MLAT_EXACT_LON": "float?", - "MLAT_ALTITUDE_MSL_METERS": "float?" - }, - "hassio_api": false, - "usb": true, - "ports": { - "8080/tcp": null, - "8754/tcp": null, - "30001/tcp": null, - "30002/tcp": null, - "30003/tcp": null, - "30004/tcp": null, - "30005/tcp": null - }, - "ports_description": { - "8080/tcp": "Dump1090 status site", - "8754/tcp": "Flightrader24 feeder status site", - "30001/tcp": "TCP raw input", - "30002/tcp": "TCP raw output", - "30003/tcp": "TCP BaseStation output", - "30004/tcp": "TCP Beast input", - "30005/tcp": "TCP Beast output" - } -} diff --git a/adsb-multi-portal-feeder/config.yaml b/adsb-multi-portal-feeder/config.yaml new file mode 100644 index 0000000..25f050b --- /dev/null +++ b/adsb-multi-portal-feeder/config.yaml @@ -0,0 +1,116 @@ +slug: adsb-multi-portal-feeder +stage: experimental +url: https://github.com/MaxWinterstein/homeassistant-addons/ +usb: true +version: 1.0.0 +arch: + - armhf + - armv7 + - aarch64 + - amd64 +boot: auto +description: Dump1090 based feeder for FlightRadar24, FlightAware and more +hassio_api: false +ingress: true +ingress_port: 8080 +init: false +name: ADS-B Multi-Portal Feeder +options: + # Common + SERVICE_ENABLE_DUMP1090: true + SERVICE_ENABLE_PIAWARE: true + SERVICE_ENABLE_FR24FEED: true + SERVICE_ENABLE_HTTP: true + + PIAWARE_FEEDER_DASH_ID: "" + FR24FEED_FR24KEY: "" + ADSBEXCHANGE_UUID: "" + PLANEFINDER_SHARECODE: "" + + HTML_SITE_LAT: 50.033056 + HTML_SITE_LON: 8.570556 + +panel_icon: mdi:airplane +panel_title: ADS-B Feeder +ports: + 30001/tcp: null + 30002/tcp: null + 30003/tcp: null + 30004/tcp: null + 30005/tcp: null + 8080/tcp: null + 8754/tcp: null +ports_description: + 30001/tcp: TCP raw input + 30002/tcp: TCP raw output + 30003/tcp: TCP BaseStation output + 30004/tcp: TCP Beast input + 30005/tcp: TCP Beast output + 8080/tcp: Dump1090 status site + 8754/tcp: Flightrader24 feeder status site +schema: + # Common + SERVICE_ENABLE_DUMP1090: bool + SERVICE_ENABLE_PIAWARE: bool + SERVICE_ENABLE_FR24FEED: bool + SERVICE_ENABLE_HTTP: bool + SERVICE_ENABLE_IMPORT_OVER_NETCAT: bool? + SERVICE_ENABLE_ADSBEXCHANGE: bool? + SERVICE_ENABLE_PLANEFINDER: bool? + + # FlightAware (piaware) + PIAWARE_FEEDER_DASH_ID: str? + PIAWARE_RECEIVER_DASH_TYPE: str? + PIAWARE_RECEIVER_DASH_HOST: str? + PIAWARE_RECEIVER_DASH_PORT: port? + + # Flightradar24 + FR24FEED_RECEIVER: str? + FR24FEED_FR24KEY: str? + FR24FEED_HOST: str? + FR24FEED_BS: str? + FR24FEED_RAW: str? + FR24FEED_LOGMODE: int? + FR24FEED_LOGPATH: str? + FR24FEED_MLAT: str? + FR24FEED_MLAT_DASH_WITHOUT_DASH_GPS: str? + + # ADS-B Exchange + ADSBEXCHANGE_UUID: str? + ADSBEXCHANGE_STATION_NAME: str? + ADSBEXCHANGE_MLAT: str? + + # Exact coordinates for MLAT + MLAT_EXACT_LAT: float? + MLAT_EXACT_LONG: float? + MLAT_ALTITUDE_MSL_METERS: int? + + # Plane Finder + PLANEFINDER_SHARECODE: str? + + # Dump1090 & Web UI + HTML_SITE_LAT: float? + HTML_SITE_LON: float? + HTML_SITE_NAME: str? + HTML_DEFAULT_TRACKER: list(FlightAware|Flightradar24)? + HTML_RECEIVER_STATS_PAGE_FLIGHTAWARE: url? + HTML_RECEIVER_STATS_PAGE_FLIGHTRADAR24: url? + HTML_FR24_FEEDER_STATUS_PAGE: url? + DUMP1090_ADDITIONAL_ARGS: str? + + # DUMP1090 forwarding + DUMP1090_LOCAL_PORT: port? + DUMP1090_REMOTE_HOST: str? + DUMP1090_REMOTE_PORT: port? + + # RTL_TCP forwarding + RTL_TCP_OVER_NETCAT: bool? + RTL_TCP_REMOTE_HOST: str? + RTL_TCP_REMOTE_PORT: port? + + # Terrain-limit rings (optional): + PANORAMA_ID: str? + PANORAMA_ALTS: str? + + # Open Weather Map layers + LAYERS_OWM_API_KEY: str? diff --git a/adsb-multi-portal-feeder/export-env-from-config.sh b/adsb-multi-portal-feeder/export-env-from-config.sh index baa141a..48cfed3 100644 --- a/adsb-multi-portal-feeder/export-env-from-config.sh +++ b/adsb-multi-portal-feeder/export-env-from-config.sh @@ -14,7 +14,10 @@ if [ ! -f '/data/options.json' ]; then exit 1 fi -# export add-on configuration so it can be sourced and used as login var -for s in $(cat /data/options.json | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ); do - export $s -done \ No newline at end of file +# export add-on configuration so it can be sourced and used as env vars later +# thx https://stackoverflow.com/a/48513046/635876 +while read -rd $'' line +do + export "$line" +done < <(jq -r <<<"$(cat /data/options.json)" \ + 'to_entries|map("\(.key)=\(.value)\u0000")[]') \ No newline at end of file