01-31-2016, 10:30 PM
Jeśli ktoś już korzysta lub jeszcze nie korzysta a zamierza to może trochę pomogę. Przyklad skryptu, który sprawdza czy LK jest online (mam różne podsieci) a następnie pobiera dane dla czujnika DTH22 (temp i wilgotność). Oczywiscie skrypt wywolywany przez crontaba co 5 minut
Obsługę przycisków realizuję przez komendę http://login_LK:haslo_LK@192.168.2.101/outs.cgi?out4=1
Obsługę przycisków realizuję przez komendę http://login_LK:haslo_LK@192.168.2.101/outs.cgi?out4=1
Kod:
#!/bin/bash
# Settings
LK_IP="192.168.2.101" # adres IP lankontrolera
PASSWORD="public" # SNMP Password zazwyczaj public
DOMO_IP="192.168.0.100" # Domoticz IP Address
DOMO_PORT="8080" # Domoticz Port
LK_IDX="8" # IDX
LK_DTH22="11" # LK_DTH22
# HUM_IDX="10" # DTH22 wilgotnosc IDX
# Sprawdzamy czy LK jest online
PINGTIME=`ping -c 1 -q $LK_IP | awk -F"/" '{print $5}' | xargs`
echo $PINGTIME
if expr "$PINGTIME" '>' 0
then
# DTH22
DTH22_1=`snmpget -v 2c -O qv -c $PASSWORD $LK_IP .1.3.6.1.4.1.17095.6.1.0`
DTH22_1=`echo "scale=1; $DTH22_1 /10" | bc`
DTH22_2=`snmpget -v 2c -O qv -c $PASSWORD $LK_IP .1.3.6.1.4.1.17095.6.2.0`
DTH22_2=$(($DTH22_2 / 10))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=11&nvalue=0&svalue=$DTH22_1;$DTH22_2;0"
curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$LK_IDX" | grep "Status" | grep "On" > /dev/null
if [ $? -eq 0 ] ; then
echo "LK already ON"
else
echo "LK ON"
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$LK_IDX&switchcmd=On"
fi
else
curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$LK_IDX" | grep "Status" | grep "Off" > /dev/null
if [ $? -eq 0 ] ; then
echo "LK already OFF"
exit
else
echo "LK OFF"
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$LK_IDX&switchcmd=Off"
fi
fi
<t></t>