Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:channels:heating_control:uvr1611

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
hardware:channels:heating_control:uvr1611 [2016/01/21 15:41] – Tippfehler jauhardware:channels:heating_control:uvr1611 [2017/08/10 13:13] – Script Änderung "Leere Datenrahmen verwerfen" jau
Zeile 8: Zeile 8:
 ==== Sensoren auslesen ==== ==== Sensoren auslesen ====
 Um die Sensordaten in den Volkszähler zu übernehmen eignet sich dl-aktuelle-datenx [[https://github.com/fb/dlogg-linux/tree/master/dl-aktuelleDaten|github]] von [[http://d-logg-linux.roemix.de/|Volker Römer]].\\ Um die Sensordaten in den Volkszähler zu übernehmen eignet sich dl-aktuelle-datenx [[https://github.com/fb/dlogg-linux/tree/master/dl-aktuelleDaten|github]] von [[http://d-logg-linux.roemix.de/|Volker Römer]].\\
-Er stellt auch eineauf dem Raspberry lauffähige Versionals [[http://d-logg-linux.roemix.de/index.php?article_id=20|Download]] zur Verfügung. Sie wird vorzugsweise unter /usr/local/bin/ abgelegt+Er stellt auch eine auf dem Raspberry lauffähige Version als [[http://d-logg-linux.roemix.de/index.php?article_id=20|Download]] zur Verfügung. Sie wird vorzugsweise unter /usr/local/bin/ abgelegt.
- +
-In einem Shellscript aufgerufen eignet sich der vzclient als Schnittstelle zur Middleware.+
  
 <file>#!/bin/bash <file>#!/bin/bash
-/home/pi/bin/uvr-dlogg.sh +#!/bin/bash 
-# Daten aus der UVR1611 mittels dlogg und vzclient +# Daten aus der UVR1611 mittels dlogg und wget 
-# in die Datenbank eines Volkszaehler.org uebertragen +# in die Datenbank  eines Volkszaehlers uebertragen 
-03.11.2015 Daniel Lauckner+07.12.2016 Daniel Lauckner 
 +# 10.08.2017 Änderung: Leere Datenrahmen verwerfen
  
 # PATH fuer Cronjob setzen # PATH fuer Cronjob setzen
 PATH=/usr/local/bin:$PATH PATH=/usr/local/bin:$PATH
  
-# IP-Adresse des BL-Net +# IP-Adresse der UVR 
-uvr_ip=192.168.1.100+UVR_IP=192.168.1.100
  
 # Datenrahmen der UVR (Standard=1) # Datenrahmen der UVR (Standard=1)
-uvr_dr=1+UVR_DR=1 
 + 
 +# Host des Volkszaehlers 
 +HOST=localhost
  
 # UUIDs den Daten zuordnen # UUIDs den Daten zuordnen
 # wenn kein Channel zugeordnet ist nach dem = einfach leer lassen # wenn kein Channel zugeordnet ist nach dem = einfach leer lassen
-uuids[0]=12ab3456-789c-01d2-f34a-b56c78901234 # 1.Wert Aussentemperatur +UUIDS[0]=12ab3456-789c-01d2-f34a-b56c78901234 # 1.Wert Aussentemperatur 
-uuids[1]= # 2.Wert +UUIDS[1]= # 2.Wert 
-uuids[2]= # 3.Wert +UUIDS[2]= # 3.Wert 
-uuids[3]= # 4.Wert +UUIDS[3]= # 4.Wert 
-uuids[4]= # 5.Wert +UUIDS[4]= # 5.Wert 
-uuids[5]= # 6.Wert +UUIDS[5]= # 6.Wert 
-uuids[6]=654321ab-789c-01d2-f34a-b56c78901234 # 7.Wert Raumtemperatur +UUIDS[6]=654321ab-789c-01d2-f34a-b56c78901234 # 7.Wert Raumtemperatur 
-uuids[7]= # 8.Wert +UUIDS[7]= # 8.Wert 
-uuids[8]= # 9.Wert +UUIDS[8]= # 9.Wert 
-uuids[9]= # 10.Wert +UUIDS[9]= # 10.Wert 
-#uuids[10]= # 11.Wert +#UUIDS[10]= # 11.Wert 
-#uuids[11]= # 12.Wert +#UUIDS[11]= # 12.Wert 
-#uuids[12]= # 13.Wert +#UUIDS[12]= # 13.Wert 
-#uuids[13]= # 14.Wert +#UUIDS[13]= # 14.Wert 
-#uuids[14]= # 15.Wert +#UUIDS[14]= # 15.Wert 
-#uuids[15]= # 16.Wert+#UUIDS[15]= # 16.Wert
  
 # UVR auslesen # UVR auslesen
 echo "Daten aus UVR holen" echo "Daten aus UVR holen"
-uvr_daten=($(dl-aktuelle-datenx -i "$uvr_ip" -r "$uvr_dr" --rrd | sed 's/:/ /g') )+UVR_DATEN=($(dl-aktuelle-datenx -i "$UVR_IP" -r "$UVR_DR" --rrd | sed 's/:/ /g') )
  
 # Timestamp # Timestamp
-ts=$(date +%s) +TS=$(date +%s) 
-ts=$(($ts*1000))+TS=$(($TS*1000))
  
 # VZ schreiben # VZ schreiben
-echo "Daten an Volkszaehler uebergeben" +if [ -z ${UVR_DATEN[0]} ] 
-i=0 +then 
-z=${#uuids[@]} + # Gelegentlich erhält man von dlogg eine Antwort ohne Daten, eine solche Antwort wird verworfen 
-while [ $-le $+ echo "Datenrahmen ohne Inhalt!" 
-  do +else 
-    if [ ${uuids[$i]} ] + echo "Daten an Volkszaehler uebergeben" 
-      then + I=0 
-        # In VZ uebertragen + Z=${#UUIDS[@]} 
-        echo vzclient -"${uuids[$i]}add data ts="$ts" value="${uvr_daten[$i]}" + while [ $-le $
-        vzclient -"${uuids[$i]}add data ts="$ts" value="${uvr_daten[$i]}" + do 
-    fi + if [ ${UUIDS[$I]} ] 
-  i=$(($i+1)) + then 
-done+ # In VZ uebertragen 
 + echo wget -O - -q "http://$HOST/middleware.php/data/${UUIDS[$I]}.json?operation=add&ts=$TS&value=${UVR_DATEN[$I]}" 
 + wget -O - -q "http://$HOST/middleware.php/data/${UUIDS[$I]}.json?operation=add&ts=$TS&value=${UVR_DATEN[$I]}" 
 + printf "\n" 
 + fi 
 + I=$(($I+1)) 
 + done 
 +fi
 </file> </file>
  
hardware/channels/heating_control/uvr1611.txt · Zuletzt geändert: 2019/07/19 06:54 von thhoe