zurzeit frage ich unseren Batteriespeicher über ein Shell-Script ab, das über die crontab jede Minute ausgeführt wird.
Es werden dort die Daten nach Graphite übergeben.
Code: Alles auswählen
#!/bin/bash
cd /home/user/SENEC/SENEC_Graphite/
wget -q "http://192.168.18.34/cgi-bin/ILRReadValues.exe" -O export.xml --post-file="input.xml" --header="Content-Type:text/xml"
time=$(date +%s)
# Netzspannung
echo "SENEC.PowerMeter.Grid.Voltage.U1N $(cat export.xml | grep GV.GuiData.PowerMeter.Grid.Voltage.U1N | sed -e 's/.*<v>\(.*\)<\/v>.*/\1/') $time" | nc -w 1 127.0.0.1 2003
echo "SENEC.PowerMeter.Grid.Voltage.U2N $(cat export.xml | grep GV.GuiData.PowerMeter.Grid.Voltage.U2N | sed -e 's/.*<v>\(.*\)<\/v>.*/\1/') $time" | nc -w 1 127.0.0.1 2003
echo "SENEC.PowerMeter.Grid.Voltage.U3N $(cat export.xml | grep GV.GuiData.PowerMeter.Grid.Voltage.U3N | sed -e 's/.*<v>\(.*\)<\/v>.*/\1/') $time" | nc -w 1 127.0.0.1 2003
# usw.....
(z.B. wenn über 5 Min im Duchschnitt 1000 W Leistungsüberschuss ist, steuere die Poolpumpe an).
Es sind ca. 20 Variablen die jede Minute abgefragt werden.
Wie bekomme ich die Variablen aber nach CCU.IO?
Muss ich auf der CCU die Variablen erstellen und dann über socket.io mit setState die Variablen übermitteln?
Oder gibt es da einen eleganteren weg?
(System: Ubuntu SRV 14.04 mit CCU.IO, Yahui, Dashui und Graphite)