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
hardware:channels:heating_control:uvr1611 [2016/01/21 15:37] – Hinweis CMI jauhardware:channels:heating_control:uvr1611 [2019/07/19 06:54] (aktuell) – [UVR] thhoe
Zeile 3: Zeile 3:
  
 Sie bietet auch diverse Systeme zur Anbindung an PC und Ethernet an. So z.B. den alten BL-Net (Bootloader), D-Logg und aktuell das C.M.I. die auch Datenlogging bieten.\\ Sie bietet auch diverse Systeme zur Anbindung an PC und Ethernet an. So z.B. den alten BL-Net (Bootloader), D-Logg und aktuell das C.M.I. die auch Datenlogging bieten.\\
-Der BL-Net verfügt aber nur über wenig Speicherkapazität, was bedeutet dass die Daten regelmäßig abgeholt werden müssen oder im Ringspeicher verloren gehen. +Der BL-Net und D-Logg verfügt aber nur über wenig Speicherkapazität, was bedeutet dass die Daten regelmäßig abgeholt werden müssen oder im Ringspeicher verloren gehen. 
-<note important>Auslesen des C.M.I. ist mit der nachfolgenden Lösung nicht möglich</note>+<note important>Auslesen des C.M.I. ist mit der nachfolgenden Lösung nicht möglich!\\   
 +Es gibt aber die [[https://www.ta.co.at/download/datei/17511763-cmi-json-api/|cmi-json-api]].</note>
  
 ==== 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. +<code bash> 
- +#!/bin/bash 
-<file>#!/bin/bash +# Daten aus der UVR1611 mittels dlogg und wget 
-# /home/pi/bin/uvr-dlogg.sh +# in die Datenbank  eines Volkszaehlers uebertragen 
-# Daten aus der UVR1611 mittels dlogg und vzclient +07.12.2016 Daniel Lauckner 
-# in die Datenbank eines Volkszaehler.org uebertragen +# 10.08.2017 Änderung: Leere Datenrahmen verwerfen
-03.11.2015 Daniel Lauckner+
  
 # 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 
-</file>+ 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 
 +</code>
  
 Es wird ein aktueller Datenrahmen (enstpricht allen Ein- und Ausgängen einer UVR) abgerufen und entsprechend der UUID in den Volkszähler übertragen.\\ Es wird ein aktueller Datenrahmen (enstpricht allen Ein- und Ausgängen einer UVR) abgerufen und entsprechend der UUID in den Volkszähler übertragen.\\
hardware/channels/heating_control/uvr1611.1453387044.txt.gz · Zuletzt geändert: 2016/01/21 15:37 von jau