abfrage.sh 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. #Konfiguration
  3. IP_Wetterstation="172.30.80.52"
  4. IP_MQTTServer="127.0.0.1"
  5. User_MQTT="nodered"
  6. Pass_MQTT="KsPUQ3N2wjsjOFFfjBt9"
  7. MQTT_Prefix="HA/NHI/AB/Wetterstation/Außen" #kein endender Slash!
  8. rm -f /tmp/wetter.html
  9. /usr/bin/curl -s --connect-timeout 2 -m 3 -o "/tmp/wetter.html" "http://${IP_Wetterstation}/livedata.htm"
  10. if [ $? -ne 0 ] ; then
  11. echo "Wetterstation wird neu gestartet"
  12. /usr/bin/curl -s "http://${IP_Wetterstation}/msgreboot.htm" > /dev/null
  13. exit 1
  14. fi
  15. #Daten überprüfen
  16. grep "avgwind" /tmp/wetter.html > /dev/null
  17. if [ $? -ne 0 ] ; then
  18. echo "Wetterdaten ungültigt"
  19. exit 1
  20. fi
  21. value_avgwind=$(grep "avgwind" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  22. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_avgwind}" -t "${MQTT_Prefix}/avgwind" -u "${User_MQTT}" -P "${Pass_MQTT}"
  23. value_outTemp=$(grep "outTemp" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  24. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_outTemp}" -t "${MQTT_Prefix}/outTemp" -u "${User_MQTT}" -P "${Pass_MQTT}"
  25. value_outHumi=$(grep "outHumi" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  26. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_outHumi}" -t "${MQTT_Prefix}/outHumi" -u "${User_MQTT}" -P "${Pass_MQTT}"
  27. value_windir=$(grep "windir" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  28. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_windir}" -t "${MQTT_Prefix}/windir" -u "${User_MQTT}" -P "${Pass_MQTT}"
  29. value_solarrad=$(grep "solarrad" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  30. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_solarrad}" -t "${MQTT_Prefix}/solarrad" -u "${User_MQTT}" -P "${Pass_MQTT}"
  31. value_uv=$(grep "uv\"" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  32. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_uv}" -t "${MQTT_Prefix}/uv" -u "${User_MQTT}" -P "${Pass_MQTT}"
  33. value_uvi=$(grep "uvi" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  34. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_uvi}" -t "${MQTT_Prefix}/uvi" -u "${User_MQTT}" -P "${Pass_MQTT}"
  35. value_rainofhourly=$(grep "rainofhourly" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1)
  36. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_rainofhourly}" -t "${MQTT_Prefix}/rainofhourly" -u "${User_MQTT}" -P "${Pass_MQTT}"
  37. value_CurrTimeH=$(grep "CurrTime" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1 | cut -d ":" -f1)
  38. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_CurrTimeH}" -t "${MQTT_Prefix}/CurrTimeH" -u "${User_MQTT}" -P "${Pass_MQTT}"
  39. value_CurrTimeM=$(grep "CurrTime" /tmp/wetter.html | awk -F 'value="' '{print $2}' | cut -d "\"" -f 1 | cut -d ":" -f2 | cut -d " " -f 1)
  40. /usr/bin/mosquitto_pub -h $IP_MQTTServer -m "${value_CurrTimeM}" -t "${MQTT_Prefix}/CurrTimeM" -u "${User_MQTT}" -P "${Pass_MQTT}"
  41. exit 0