pywws posting to Domoticz
Posted: Friday 14 July 2017 22:45
Has anyone already configured their pywws and weather station to submit to Domoticz?
Would you be willing to share your config?
Would you be willing to share your config?
Code: Select all
#raw#
T_OUT: #temp_out "%.1f" #
T_IN: #temp_in "%.1f" #
W_DIR: #wind_dir "%.0f" "0" "x * 22.5" #
W_AVE: #wind_ave "%.1f" "" "x * 10" #
W_GUST: #wind_gust "%.1f" "" "x * 10" #
H_OUT: #hum_out "%d" #
H_IN: #hum_in "%d" #
REL_P: #rel_pressure "%.1f" #
#hourly#
RAIN_H: #rain "%.1f" "" "x * 100"#
#daily#
RAIN_D: #rain "%.1f" #
#raw#
W_TXT: #wind_dir "%s" "-" "wind_dir_text[x]"#
Code: Select all
#!/bin/bash
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
#setup
host=192.168.1.22
port=8080
username=
password=
TOUTidx=213
TINidx=214
WDIRidx=218
WAVEidx=219
WGUSTidx=220
HOUTidx=221
HINidx=223
RELPidx=224
RAINidx=225
TOUT=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^T_OUT: \(-[0-9]*\.[0-9]*\).*/\1/p')
TIN=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^T_IN: \([0-9]*\.[0-9]*\).*/\1/p')
WDIR=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^W_DIR: \([0-9]\[0-9]\)*/\1/p')
WAVE=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^W_AVE: \([0-9]*\.[0-9]*\).*/\1/p')
WGUST=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^W_GUST: \([0-9]*\.[0-9]*\).*/\1/p')
HOUT=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^H_OUT: \([0-9]\[0-9]*\)*/\1/p')
HIN=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^H_IN: \([0-9]\.[0-9]\)*/\1/p')
RELP=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^REL_P: \([0-9]*\.[0-9]*\).*/\1/p')
RAINH=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^RAIN_H: \([0-9]*\.[0-9]*\).*/\1/p')
RAIND=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^RAIN_D: \([0-9]*\.[0-9]*\).*/\1/p')
WTXT=$(cat /volume1/web/meteo/data/domoticz.txt | sed -ne 's/^W_TXT: \([A-Z]*\[A-Z]*\)*/\1/p')
HIST=1
if [ "$HIN" -gt 60 ]
then HIST=3
fi
if
[ "$HIN" -ls 40 ]
then HIST=2
fi
HOST=0
if [ "$HOUT" -gt 60 ]
then HOST=3
fi
if
[ "$HOUT" -ls 40 ]
then HOST=2
fi
#output if you run it manually
echo "TOUT = $TOUT"
echo "TIN = $TIN"
echo "WDIR = $WDIR"
echo "WTXT = $WTXT"
echo "WAVE = $WAVE"
echo "WGUST = $WGUST"
echo "HOUT = $HOUT"
echo "HIN = $HIN"
echo "RELP = $RELP"
echo "RAINd = $RAIND"
echo "RAINh = $RAINH"
echo $HIST
echo $HOST
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$TOUTidx&svalue=$TOUT"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$TINidx&svalue=$TIN"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$WDIRidx&nvalue=0&svalue=$WDIR;$WTXT;$WAVE;$WGUST;0;0"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$HOUTidx&nvalue=$HOUT&svalue=$HOST"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$HINidx&nvalue=$HIN&svalue=$HIST"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$RELPidx&nvalue=0&svalue=$RELP;5"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$RAINidx&nvalue=0&svalue=$RAINH;$RAIND"