UVR1611/16x2 mit CMI: Alle Werte (wirklich alle) einlesen

Begonnen von henfri, 11 Januar 2020, 13:05:50

Vorheriges Thema - Nächstes Thema

henfri

Hallo,

ich nutze eigentlich kein FHEM, sondern https://smarthomeng.de/. Aber ich kann mir vorstellen, dass dies für einige hier interessant ist.

Die Lösungen, die ich bisher gefunden habe, können nur einen Teil der Werte der UVR16xx auslesen. Mit dem hier vorgestellten Skript können auch alle Ein/Ausgänge und Statii aller Logikblöcke gelesen werden (siehe Bild im Anhang).
Ich habe das Skript als Logik für smarthomeng geschrieben, es läuft aber auch standalone in python3.

Man muss nur diese Informationen anpassen:
    url='http://192.168.177.5/schematic_files/1.cgi'
    ta_designer_xml="/srv/Daten/dockerconfig/knx/smarthomeNGconfig/items/NeuesProjekt.xml"
    username = 'user'
    password = 'gast123'



Konfiguriert wird das Plugin über die XML-Datei des TA-Designers.
Kurzanleitung:
Vorbereitung CMI
-TA-Designer installieren
-Dat-Datei aus TAPPS importieren
-Per Drag&Drop die Größen, die ihr in sh.py haben wollt in die Zeichnungsfläche ziehen.
-Speichern
-Schema auf CMI übertragen
-Die Projektdatei des TA-Designer in den Items Ordner (/usr/local/smarthome/items/NeuesProjekt.xml) kopieren.

Ein Beispiel-Output:
{'Anf.Kessel Zustand (Ein/Aus)': '1',
'DurchflSolar  Wert': '0',
'Misch.Hzkr 1 Zustand (Ein/Aus)': '0',
'ODER 2 Digitaleingang 1 Status': '50.0',
'ODER 2 Digitaleingang 2 Status': '0',
'Pumpe-Hzkr 1 Zustand (Ein/Aus)': '1',
'Pumpe-Hzkr 2 Zustand (Ein/Aus)': '0',
'SOLAR 1 Kollektortemperatur': '0.00',
'SOLAR 1 Referenztemperatur': '345.0',
'SOLAR 1 Status Solarkreis': '',
'Solarstr. Wert': '173',
'T.Kollekt.RL Wert': '45.3',
'T.Kollekt.VL Wert': '46.9',
'T.Kollektor Wert': '40.4',
'T.Speicher 1 Wert': '55.5',
'T.Speicher 2 Wert': '55.0',
'T.Speicher 3 Wert': '43.6',
'T.Speicher 4 Wert': '42.1',
'Temp.Aussen Wert': '10.1',
'Umsch_Solar   Zustand (Ein/Aus)': '0',
'VERGL. 1 Freigabe Vergleich': '40.5',
'VERGL. 1 Status Wa > Wb + diff': '0',
'VERGL. 1 Vergleichswert a': '55.0',
'VERGL. 1 Vergleichswert b': '0',
'VERGL. 2 Freigabe Vergleich': '0',
'VERGL. 2 Status Wa < Wb + diff': '55.7',
'VERGL. 2 Vergleichswert a': '36.0',
'VERGL. 2 Vergleichswert b': '42.1',
'WMZ HZK. Durchfluss': '38.0',
'WMZ HZK. Kilowattstunden (Zähler)': '0',
'WMZ HZK. Momentanleistung': '25.7',
'WMZ HZK. Rücklauftemperatur': '',
'WMZ HZK. Vorlauftemperatur': '812.5',
'WMZ Pellets   Durchfluss': '36.3',
'WMZ Pellets   Kilowattstunden (Zähler)': '2.28',
'WMZ Pellets   Momentanleistung': '124',
'WMZ Pellets   Rücklauftemperatur': '52.3',
'WMZ Pellets   Vorlauftemperatur': '',
'WMZ SOLAR Durchfluss': '0',
'WMZ SOLAR Kilowattstunden (Zähler)': '350.8',
'WMZ SOLAR Momentanleistung': '0.00',
'WMZ SOLAR Rücklauftemperatur': '45.3',
'WMZ SOLAR Vorlauftemperatur': '47.0'}


Diesen Output könnte man in eine Textdatei schreiben und diese von FHEM einlesen lassen - oder man programmiert das Ganze für FHEM nach :-) Ist ja keine Raketenwissenschaft.

Der Trick ist im Wesentlichen, dass in der XML-Datei jedes Objekt eine ID hat.
Diese ID findet sich in http://192.168.177.5/schematic_files/1.cgi wieder - allerdings sind bei mir zwei PNG-Dateien im Schema, so dass sich der Index um 2 verschiebt. Das wird vom Plugin aber berücksichtig.

Wer den BL-Net verwendet, kann hier nachschauen:
https://knx-user-forum.de/forum/supportforen/smarthome-py/35834-alpha-logik-uvr1611


Gruß,
Hendrik