UVR1611 - Fa. Technische Alternative

Begonnen von wopl, 27 Juni 2013, 00:05:20

Vorheriges Thema - Nächstes Thema

dhupfer

Hallo Wolfram,

ich bin ebenfalls Nutzer eines UVR1611 mit BLNet. Könnte ich auch Dein Modul erhalten?

Danke,
Dirk

jnewton957

Hallo,
es scheint ja doch ein großes Interesse and er Anbindung von TA UVR an FHEM zu geben. Sei es über DLOGG, BL-net oder C.M.I.

Könnte da mal einige posten, ob bzw. wie sie es derzeit umsetzen.


Gerne bitte auch Infos zur Anbindung und cfg. Beispielen.

Danke
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

Zeitisen

Zitat von: jnewton957 am 02 Oktober 2016, 13:19:37
Könnte da mal einige posten, ob bzw. wie sie es derzeit umsetzen.

sollte das lauten " Ich könnte da mal einige posten ..." , soll bedeuten, du hast einige Anbindungen und könntest sie hier beschreiben (wenn ja, nur zu, ich bin interessiert)

oder sollten die, die das bereits haben hier ihre Lösungen zeigen?

hugo

#33
Hallo, bin heute eher zufällig über diesen Beitrag gefallen, aber ich hätte auch gerne das Modul. Habe seit ca. 5 Jahren eine uvr1611 im Einsatz und lese die Werte mit dl-lesen mit meinem Raspi aus. Schön wäre natürlich das ganze unter Fhem zu nutzen.
Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

Zeitisen

Hallo,

ich lese die Daten mit dem Raspi über dl-aktuelle-datenx.ARM. Das Programm wird mit einem Script UVR1611_raspi.sh regelmässig mit cron aufgerufen.
Als Parameter 1 wird die IP benötigt, als Paramter 2 der Datenrahmen. Wenn zwei Datenrahmen vorhanden sind, muss das Script zweimal aufgerufen werden.

Hier das Script:
#!/bin/sh
# liest Daten aus der UVR1611 über den BL_net
# Parmeter: 1: IP-Adresse des BL-net
#           2: Datenrahmen
ret=255 ;
cn=0
while [ $ret -gt 0 ]; do
    /opt/cacti/scripts/dl-aktuelle-datenx.ARM -i $1:40000 -t 0 -r $2 --rrd 2>/opt/cacti/log/uvrerr$2.txt >/opt/cacti/log/uvrdata$2.txt ;
    ret=$?
    cn=$(expr $cn + 1 )
    if [ $cn -gt 4 ]; then
        exit $cn ;
    fi
    sleep 5
done

awk -F ';' '{ printf "%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%1d\n%1d%.1f\n%.1f\n%.1f\n%.1f\n",$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16, $17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39 ; exit}' /opt/cacti/log/uvrdata$2.txt  > /opt/cacti/log/uvrfhem$2.txt




Die  awk-Zeile  schreibt die Daten in Dateien uvrfhem1.txt und uvrfhem2.txt  (bei zwei Datenrahmen) in einem Format, das mit fhem über CustomReadings gelesen werden kann.
Die Schleife ist deshalb notwendig, weil die UVR die Daten sehr unzuverlässig sendet und dl-aktuelle-datenx.ARM gelegentlich mit Fehlern zurück kommt.

Die zugehörigen CustomReadings:

define HeizungUVR CustomReadings
attr HeizungUVR group Heizung
attr HeizungUVR interval 300
attr HeizungUVR readingDefinitions COMBINED:qx(cat /opt/cacti/log/uvrfhem1.txt),Temp_Aussen:,Puffer_oben:,Puffer_unten:,Temp_Kessel-VL:,Temp_Kollektor:,Temp_Erdkoll:,Boiler_oben:,Boiler_unten:,Solarstrahlung:,Temp_Erdkoll-VL:,EvoAqua:,Evo_Temp_Rücklauf:,Störung_WP:,Evo_RücklaufHH-ein:,EVU_Freigabe:,Energiezähler_WP:,Pumpe_Solar:,Ventil_WP:,Ventil_WW:,Ventil_EVO:,Anf-EvoAqua:,Ventil_Erdkollektor:,Pumpe_Heizkreis:,Kesselpumpe:,Ventil_Solar:,Wärmepumpe-Ein:,Leistung1:,Leistung2:,COMBINED:qx(cat /opt/cacti/log/uvrfhem2.txt),Heizkreis_Durchfluss:,Heizkreis_Rücklauf:,Heizkreis_Vorlauf:,EVO-Durchfluss:,EVO_Vorlauf:,EVO_Rücklauf:,WP_Durchfluss:,WP_Vorlauf:,WP_Rücklauf:,Solar-Durchfluss:,Solar_Rücklauf:,Solar_Vorlauf:,WW_Durchfluss:,WW_Rücklauf:,WW_Vorlauf:,Temp_Küche:,_b17-:,_b18:,_b19:,_b20:,_b21,_b22:,_b23:,_b24:,_b25:,_b26:,Leistung3:,Leistung4:
attr HeizungUVR room Test
attr HeizungUVR userReadings Solarstrahlung10 { ReadingsVal("HeizungUVR","Solarstrahlung",0)/10.0;;;; }



Die Namen im Reading sind natürlich anlagenspezifisch
Der Pfad  /opt/cacti/log muss natürlich angepasst werden. Er kann auch im fhem-Bereich liegen.

hugo

Hallo Zeitisen, werde mir dein Script in den nächsten Tagen vornehmen. Das auslesen der Daten hatte ich ja bereits gemacht, allerdings mit der Option --csv. Das Problem mit der uvr1611 habe ich noch nicht festgestellt.
Mal sehen.
CustomReading war mir nicht bekannt.
Danke für die Information
Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

hugo

Hallo Zeitisen,

habe dein Script etwas geändert, da ich nur einen Datebrahmen habe funktioniert dies auch ohne Zwichendatei.

COMBINED:qx(/usr/local/bin/dl-aktuelle-datenx.arm -i 192.168.1.50:40000 -t0 --rrd | tail -1 | perl -pe '\$_=~s/:/\n/g'),Kollektor-Dach.............

Danke nochmal für das Script
Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

Freddy3108

#37
Hallo Zeitisen,
ich bin neu in diesem Forum.
Ich habe seit 2 Wochen FHEM in Kompination mit eine Raspi3 laufen.
Vor gut 4 Jahren habe ich meine komplette Heizungsanlage und Solaranlage auf eine UVR1611 umgestellt.
Denn Beitrag hier habe ich mit viel neugierde gelesen!
Mein Ziel ist es die einzelnen Werte in der Weboberfläche (Floorplan) darzustellen.

Nun zu meinen vielleicht unwissenden Fragen!

Das Skript steht in welcher Datei, bzw. welche Datei muss wo stehen und wird wie aufgerufen?
Wo steht di Datei dl-aktuelle-datenx.ARM bzw. was ist das für eine Datei?
Was heißt das du die Datei regelmässig mit cron aufrufst?

Mit Datenrahmen meinst du da die Geräte oder Knoten?

Ich habe folgende Konfiguration!
Gerät          Knoten         Datensatz
UVR1611       1                      1
EZ                 40                    1
EZ                 40                    2

Vorab vielen Dank für deine Mithilfe!

Gruß
Freddy

Zitat von: Zeitisen am 19 November 2016, 22:19:56
Hallo,

ich lese die Daten mit dem Raspi über dl-aktuelle-datenx.ARM. Das Programm wird mit einem Script UVR1611_raspi.sh regelmässig mit cron aufgerufen.
Als Parameter 1 wird die IP benötigt, als Paramter 2 der Datenrahmen. Wenn zwei Datenrahmen vorhanden sind, muss das Script zweimal aufgerufen werden.

Hier das Script:
#!/bin/sh
# liest Daten aus der UVR1611 über den BL_net
# Parmeter: 1: IP-Adresse des BL-net
#           2: Datenrahmen
ret=255 ;
cn=0
while [ $ret -gt 0 ]; do
    /opt/cacti/scripts/dl-aktuelle-datenx.ARM -i $1:40000 -t 0 -r $2 --rrd 2>/opt/cacti/log/uvrerr$2.txt >/opt/cacti/log/uvrdata$2.txt ;
    ret=$?
    cn=$(expr $cn + 1 )
    if [ $cn -gt 4 ]; then
        exit $cn ;
    fi
    sleep 5
done

awk -F ';' '{ printf "%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%1d\n%1d%.1f\n%.1f\n%.1f\n%.1f\n",$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16, $17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39 ; exit}' /opt/cacti/log/uvrdata$2.txt  > /opt/cacti/log/uvrfhem$2.txt




Die  awk-Zeile  schreibt die Daten in Dateien uvrfhem1.txt und uvrfhem2.txt  (bei zwei Datenrahmen) in einem Format, das mit fhem über CustomReadings gelesen werden kann.
Die Schleife ist deshalb notwendig, weil die UVR die Daten sehr unzuverlässig sendet und dl-aktuelle-datenx.ARM gelegentlich mit Fehlern zurück kommt.

Die zugehörigen CustomReadings:

define HeizungUVR CustomReadings
attr HeizungUVR group Heizung
attr HeizungUVR interval 300
attr HeizungUVR readingDefinitions COMBINED:qx(cat /opt/cacti/log/uvrfhem1.txt),Temp_Aussen:,Puffer_oben:,Puffer_unten:,Temp_Kessel-VL:,Temp_Kollektor:,Temp_Erdkoll:,Boiler_oben:,Boiler_unten:,Solarstrahlung:,Temp_Erdkoll-VL:,EvoAqua:,Evo_Temp_Rücklauf:,Störung_WP:,Evo_RücklaufHH-ein:,EVU_Freigabe:,Energiezähler_WP:,Pumpe_Solar:,Ventil_WP:,Ventil_WW:,Ventil_EVO:,Anf-EvoAqua:,Ventil_Erdkollektor:,Pumpe_Heizkreis:,Kesselpumpe:,Ventil_Solar:,Wärmepumpe-Ein:,Leistung1:,Leistung2:,COMBINED:qx(cat /opt/cacti/log/uvrfhem2.txt),Heizkreis_Durchfluss:,Heizkreis_Rücklauf:,Heizkreis_Vorlauf:,EVO-Durchfluss:,EVO_Vorlauf:,EVO_Rücklauf:,WP_Durchfluss:,WP_Vorlauf:,WP_Rücklauf:,Solar-Durchfluss:,Solar_Rücklauf:,Solar_Vorlauf:,WW_Durchfluss:,WW_Rücklauf:,WW_Vorlauf:,Temp_Küche:,_b17-:,_b18:,_b19:,_b20:,_b21,_b22:,_b23:,_b24:,_b25:,_b26:,Leistung3:,Leistung4:
attr HeizungUVR room Test
attr HeizungUVR userReadings Solarstrahlung10 { ReadingsVal("HeizungUVR","Solarstrahlung",0)/10.0;;;; }



Die Namen im Reading sind natürlich anlagenspezifisch
Der Pfad  /opt/cacti/log muss natürlich angepasst werden. Er kann auch im fhem-Bereich liegen.

Zeitisen

#38
Zitat von: Freddy3108 am 18 Januar 2017, 18:51:54
Das Skript steht in welcher Datei, bzw. welche Datei muss wo stehen und wird wie aufgerufen?
Das Skript kannst Du irgendwo auf dem Raspi ablegen, z.B. auch in /opt/fhem. Dann natürlich entsprechende Pfade anpassen.

Zitat
Wo steht die Datei dl-aktuelle-datenx.ARM bzw. was ist das für eine Datei?
Das ist eine ausführbare Datei, die die Daten von der UVR holt. Die bekommst Du hier : http://d-logg-linux.roemix.de
Du kannst sie in das selbe Verzeichnis wie UVRscript.sh (der Name ist willkürlich) legen

Zitat
Was heißt das du die Datei regelmässig mit cron aufrufst?

cron ist ein Dienst unter Linux, mit dem wiederkehrende Aufgaben durchgeführt werden können, z.B. alle 3 Minuten das Programm UVRscript.sh aufrufen, um die Daten von der UVR zu holen.
Konfiguriert wird in der Datei /etc/ctrontab
Ein Besipiel:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user    command
17 *    * * *    root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
# Sicherungsaufrufe
07 01 * * * root /usr/local/bin/raspiBackup.sh -l 2 -p /media/QNAPBackup/Pi -t rsync  -b / -A


# UVR polling

*/3 * * * *  root /opt/cacti/scripts/UVRscript.sh  192.168.47.11 1 > /dev/null 2>&


Inzwischen gibt es auch neuere Methoden, so etwas durchzuführen. Das sprengt aber den Rahmen hier.
Zur Konfiguration bitte unter allgemeinen Linux infos suchen oder auf Raspi Seiten.

Zitat
Mit Datenrahmen meinst du da die Geräte oder Knoten?

Weder noch. Als Datenrahmen wird das Telegramm der UVR auf dem DL-Bus bezeichnet. Ursprünglich war ein Loggen von Daten nur über den DL-Bus möglich.
Bitte bei der Doku der UVR nachlesen. Ich habe das auch nicht mehr ganz parat. Ich habe diese Konfiguration 2010 erstellt. Das ist schon etwas her. (mit 50+ nicht mehr so einfach  ;)   )

Freddy3108

#39
Hallo Zeitisen,
ja das alter, aber erinner mich nicht dran :- )
Ich habe mal alles durchflügt und auch verstanden, allerdings eins noch nicht so ganz!
Wo kann man den den Knoten mit übergeben!
es muss doch möglich sein auch einen anderen Knoten als den der UVR1611 anzusprechen bzw. auszulesen!
Laut http://d-logg-linux.roemix.de/ arbeitet er mit 2 UVR Geräten, die haben unterschiedliche Knoten und irgendwo muss doch der Parameter stehen ??
Dann wäre es möglich auch eine CAN-EZ mit auszulesen!

Ich glaub ich mach mal einen Raum für das problem aus :- )

Danke nochmals für deine Antwort, mir ist jetzt klar wie das Script arbeitet!

Gruß
Freddy


Nachtrag 28.01.2017 :

Hallo Zeitisen,
ich habe glaube ich ein kleinen Fehler in der awk Zeile gefunden!
Hier wir ein Digitalkanal mit einem Analogkanal verheiratet.
Hab es mal rot makiert!
awk -F ';' '{ printf "%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%1d\n%1d%.1f\n%.1f\n%.1f\n%.1f\n",$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16, $17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39 ; exit}' /opt/cacti/log/uvrdata$2.txt  > /opt/cacti/log/uvrfhem$2.txt

Dadurch kam es zu Erros beim einlesen der LogDatei!

Nach dem ich es abgeändert habe war der Status ok.
awk -F ';' '{ printf "%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%.1f\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%d\n%1d\n%d\n%1d\n%1d\n%1d\n%1d\n%1d\n%1d\n%.1f\n%.1f\n%.1f\n%.1f\n",$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16, $17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39 ; exit}' /opt/cacti/log/uvrdata$2.txt  > /opt/cacti/log/uvrfhem$2.txt

Danke nochmals für deine Unterstützung
Gruß
Freddy

tremichl

Zitat von: Mopedpaul am 02 März 2016, 19:06:14
Hallo,
benutze auch die UVR 1611 mit einem CMI. Habe mir auf dem CMI eine Online Webseite erstellt, mit Werten hinterlegt und in FHEM als Iframe eingebunden. Somit habe ich erst einmal eine komplettes und aktuelles Online Schema in FHEM. Dann die benötigten Werten mit HTTPMOD aus der Webseite abgegriffen und in FHEM integriert. Somit habe ich nur die wirklich benötigten Werte in FHEM. Da man diese Daten ja dann in ein LOG schreiben kann, sind dann auch weitere Plot Anzeigen möglich. Auch kann mit anderen Aktoren in FHEM auf Ereignisse , die sich auf die Heizung beziehen,reagieren. (Dimme zum Beispiel die HUE Lampen über dem Kaminofen bei erreichen einer bestimmten Temperatur oder signalisiere, ob Holz nachgelegt werden muss. Auch Störungen und Ausfälle können so direkt über FHEM verarbeitet werden. (Mail , Lichtsignale, usw)

MfG Mopedpaulchen.

Hallo Mopedpaulchen,

möchte gerne deine Lösung übernehmen. Leider hänge ich im HTTPMOD mit "unmatched readings". Im buf sehe ich alle Werte. Könntest du mir bitte deinen REGEX Eintrag zukommen lassen, dann könnte ich anhand einer funktionierenden Konfiguration meinen Fehler schneller finden.

Danke!
tremichl
Wir haben keine Ahnung davon, was wir nicht wissen

Baeda

Hallo Wolfram,

ich habe auch eine UVR1611 mit BL-Net im Einsatz und wäre sehr an dem Modul interessiert!

Könnte man das Modul ggf. veröffentlichen (ggf. hier)?.
VIeloen Dank vorab,

Baeda

my-engel

Hallo Wolfram,

ich weiss es ist schon einige Zeit her aber ich bin ebenfalls Nutzer einer UVR1611 mit BLNet.
Könnte ich auch Dein Modul erhalten?

Danke, Uwe

delMar

Hallo zusammen,

ich hab ein Modul für die UVR16x2 über CMI gebaut.
Sollte auch für die UVR1611 funktionieren, kann ich aber nicht testen.
Wer will, darf gern hier mitspielen: https://forum.fhem.de/index.php/topic,41439.0.html
Wiki-Seite gibts hier: https://wiki.fhem.de/wiki/UVR16x2

Feedback ist herzlich willkommen und ich erweitere das Modul gern so, dass es auch für die UVR1611 passt

schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

my-engel

Hallo delmar,

Dein Modul greift aber nur auf den cmi zu und nicht auf den blnet.
Oder habe ich da etwas falsch verstanden?

MfG Uwe