Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
DOMOTICZ - sprzęganie z lankontrolerem
#1
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

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&param=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&param=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&param=switchlight&idx=$LK_IDX&switchcmd=Off"
        fi
fi
<t></t>
Odpowiedz


Wiadomości w tym wątku

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości