This is an MQTT sensor to send NOAA space weather data to Home Assistant. Fetching the data requires a login to NASA's EarthData which is done through Selenium and the Chrome browser. ## Install 1. Create an account at 2. `pip install -r requirements.txt` 3. `sudo apt-get install p7zip-full redis-server` 4. `sudo apt-get install dvipng texlive-latex-extra texlive-fonts-recommended cm-super` 5. `sudo systemctl enable --now redis-server` ### Google Chrome If you don't have Google Chrome installed (used to log into the NASA site), here's how to install it. ```shell wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb apt install ./google-chrome-stable_current_amd64.deb ``` ## Run The lat/lon range is used to pick the region of the planet for generating statistics, for example your home state. To ```shell LAT_RANGE_MIN= \ LAT_RANGE_MAX= \ LON_RANGE_MIN= \ LON_RANGE_MAX= \ CDDIS_USERNAME= CDDIS_PASSWORD= \ MQTT_BROKER_HOST="" MQTT_BROKER_PORT=1883 MQTT_USERNAME="user" MQTT_PASSWORD="" \ python3 mqtt.py ``` Example systemd service files are provided. ### Home Assistant MQTT Config ```yaml mqtt: - state_topic: "space-weather/vtec" name: "VTEC" unit_of_measurement: "(10^16 el) / m^2" state_class: measurement unique_id: space_weather_vtec ``` ## Data ### VTEC Unit: `(10^16 el) / m^2` VTEC, or Vertical TEC, is a specific type of TEC measurement that is taken along a path extending vertically from the Earth's surface to the edge of the atmosphere. So essentially, VTEC is a subset of TEC, with the difference lying in the specific path along which the measurement is taken. Updated hourly.