Ich hatte den Raspi, bzw. den Dienst nochmal neu gestartet und seitdem läuft es durch. Ich werde es nochmal ein paar Tage beobachten. Übrigens habe auch das ESP Easy ausprobiert, das ist ja super einfach und günstig dazu. Bei dem ELV Produkt ist allerdings der fertige Außensensor mit Funk und Batterie netter. Ich wollte nochmal gucken ob man die ESPeasy Geschichte auch über eine Batterie mit angenehmer Laufzeit betreiben kann.
ELV WDE1-2 direkt über VZ auslesen?
-
-
-
ESP und Batteriebetrieb ist so ne Sache. Wenn, dann nur mit Deepsleep und einem sehr sparsamen Spannungsregler. LEDs oder USB-Konverter sollten natürlich auch nicht an der Batterie nuckeln...
Grüße
Frank -
Hallo,
ich habe folgendes nur leicht modifiziertes script über crontab aufgerufen:
Bash
Alles anzeigen#!/bin/bash # Daten aus der WDE1-2 von ELV mittels socat und vzclient # in die Datenbank eines Volkszaehler.org uebertragen # 24.01.2016 Christoph Rathmann und Daniel Lauckner # Schnittstelle wde_dev=/dev/ttyUSBPort3 # UUIDs den Daten zuordnen# wenn kein Channel zugeordnet ist nach dem = einfach leer lassen uuids[0]=74d05cf0-c084-11e5-a21c-cff1e432e875 # Temperatur Sensor 1 ( C) uuids[1]= # Temperatur Sensor 2 uuids[2]= # Temperatur Sensor 3 uuids[3]= # Temperatur Sensor 4 uuids[4]= # Temperatur Sensor 5 uuids[5]= # Temperatur Sensor 6 uuids[6]= # Temperatur Sensor 7 uuids[7]= # Temperatur Sensor 8 uuids[8]=88109700-c151-11e5-bfe5-afa9b85ef992 # Feuchte Sensor 1 (%) uuids[9]= # Feuchte Sensor 2 uuids[10]= # Feuchte Sensor 3 uuids[11]= # Feuchte Sensor 4 uuids[12]= # Feuchte Sensor 5 uuids[13]= # Feuchte Sensor 6 uuids[14]= # Feuchte Sensor 7 uuids[15]= # Feuchte Sensor 8 uuids[16]=03bcb9b0-c9e8-11e5-b77b-838a6560370c # Temperatur Kombisensor ( C) uuids[17]= # 202144b0-c9eb-11e5-bc1c-47b4ec6f76fa # Feuchte Kombinsensor (%) uuids[18]=2aa2eaf0-c9ec-11e5-a48e-bf093dd93936 # Windgeschwindigkeit (kmh) uuids[19]=83cec020-c9eb-11e5-b6d5-dd3950a8d5d4 # Niederschlag (mm) uuids[20]= # b7bf7fa0-c5c7-11e5-938a-a752437329f9 # Regen (bool) # Schnittstelle konfigurieren stty < "$wde_dev" 9600 -brkint -opost -onlcr -echo ## Programm #declare -a wde_daten_alt echo "Daten aus WDE holen" wde_daten=($(timeout 200s socat "$wde_dev",start=0x24,escape=0x0a STDOUT) ) ret=$? wde_daten=($(echo $wde_daten | sed 's/;;/;N;/g;s/;;/;N;/g;s/;/ /g;s/,/./g') ) if [ $ret -eq 0 ] # Returncode pruefen then echo "Datentelegramm empfangen" tout=0 ts=$(date +%s) # Timestamp nicht vom VZ setzen lassen weil die Daten je Kanal eingehen und die TS dann ansteigend wuerdren obwohl die Daten $ ts=$(($ts*1000)) echo "Daten an Volkszaehler uebergeben" i=0 z=${#uuids[@]} while [ $i -le $z ] do if [ ${uuids[$i]} ] then if [ "${wde_daten[$i+3]}" = "N" ] || [ "${wde_daten[22]}" = 0 ] # Wenn WDE fuer betreffende UUID keine Daten vom Sensor erhalten hat then echo "Keine g ltige Daten f r "${uuids[$i]}" " else # if [ "${wde_daten[$i+3]}" = "${wde_daten_alt[$i+3]}" ] # Nur geaenderte Daten um Speicherplatz zu sparen # then # echo "Keine neuen Daten f r "${uuids[$i]}" " # else ## Regennuller if [ "$i" = 19 ] then wde_daten[22]=$((${wde_daten[22]}+8190)) # falls der Regenzaehler mal auf Null setzt. echo vzclient -u "${uuids[$i]}" add data ts="$ts" value="${wde_daten[22]}" vzclient -u "${uuids[$i]}" add data ts="$ts" value="${wde_daten[22]}" else echo vzclient -u "${uuids[$i]}" add data ts="$ts" value="${wde_daten[$i+3]}" vzclient -u "${uuids[$i]}" add data ts="$ts" value="${wde_daten[$i+3]}" # In VZ uebertragen fi # gehoert zum Regennuller # fi # nue bei geaenderten Werten .... fi fi i=$(($i+1)) done # wde_daten_alt=(${wde_daten[*]}) else if [ $ret -ge 124 ] then # Fehler von timeout echo "Timeout, kein Datentelegramm empfangen" tout=$(($tout+1)) else # Fehler von socoat echo "Kommandofehler - Abbruch" exit $ret fi fi exit 0
Der Grund für den cronjob ist, dass ich die Daten nur alle 30 oder 60 Minuten brauche und daher braucht das script auch nicht durchlaufen.
-
Ich möchte nochmal das Thema Wetterdatenempfänger aufgreifen. Ich habe mir für mein ELV WDE1-2 jetzt einen zweiten ASH2200 gekauft (gebraucht, ebay). Ich verstehe nicht, wie ich diesen in den Volkszähler integrieren kann.
Nun ich habe in dem Script, welches die Daten an die Middleware übergibt einfach bei Temperatursensor 2 eine neue UUID eingefügt und den Kanal im Volkszähler konfigriert. Aber es kommen keine Daten an.
Vom logischen Ansatz her muss ich dem neuen Sensor doch irgendwie mitteilen wer er ist und dass er mit dem Empfänger gekoppelt ist oder?
Momentan bekomme ich bei meiner ersten UUID (alter, funktionierender Sensor) manchmal Werte von dem einen und dann wieder von dem anderen Sensor, so sieht es jedenfalls für mich aus. Hat jemand einen Tipp?Vielen Dank und liebe Grüße
Nico
-
Hallo Nico,
Du musst den Sensor aufschrauben und die Jumper umstecken, um ihm eine andere Adresse zuzuweisen - s. Kapitel 3.2 in der Anleitung:
https://files2.elv.com/public/…t/73605_ash2200_01_um.pdf
Gruß
E_Krety
-
Oh mann... vielen Dank. Ich war zu doof dafür das selbst zu finden. Ich danke Dir!!
LG
Nico