Temperatur via Skript auslesen

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Bigfoot0485
Beiträge: 10
Registriert: 19.07.2022, 10:00
System: Alternative CCU (auf Basis OCCU)

Temperatur via Skript auslesen

Beitrag von Bigfoot0485 » 19.07.2022, 10:11

Hallo Community,

ich nehme an, dass ich dein triviales Problem habe, das ich aber schlicht nicht beantwortet bekomme: Ich versuche die Ist-Temperatur eines Thermostats auszulesen, um den Wert in eine Systemvariable zu schreiben.

Warum tue ich das? Mein ioBroker kann die Systemvariablen auslesen und ich komme nicht anders an Attribute der angeschlossenen HM-Geräte dran. Ist für mich aber auch nicht schlimm, solange ich die Systemvariablen auslesen kann...

Ich habe also ein Programm angelegt, das periodisch alle 5 Min. ausgeführt wird. Mir gelang es auf diesem Wege ein kostante Fließkommazahl in die Systemvariable zu schreiben. Leider gelingt es mir nicht, die Ist-Temperatur des HmIP-eTRV-B1 auszulesen

Code: Alles auswählen

object quelle = dom.GetObject("00129B33939BA6:3");
real istwert = quelle.Value();

!real istwert = 19.0;
object ziel = dom.GetObject("ArbeitszimmerTemp");
ziel.State( istwert );
Gibt es irgendwo eigentlich eine Liste der abfragbaren Objekte im System? Die Bezeichnung dort oben habe ich auch mehr geraten als gewusst.

Womöglich kann man das aber auch ohne Programmierung realisieren. Ich bin jedenfalls mit meinem Latein am Ende und würde mich über euren Support freuen.

Vielen Dank vorab!

Benutzeravatar
Baxxy
Beiträge: 10789
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2208 Mal

Re: Temperatur via Skript auslesen

Beitrag von Baxxy » 19.07.2022, 11:11

Bigfoot0485 hat geschrieben:
19.07.2022, 10:11
Womöglich kann man das aber auch ohne Programmierung realisieren.
Kann man. :wink:
"von hinten durch die Brust ins Auge und dann noch mit Script"... ist hier der denkbar schlechteste Weg.

Du setzt dich mal an deinen ioBroker und konfigurierst einen hm-rpc Adapter korrekt für HmIP. Dann kannst du alles über den ioBroker auslesen und brauchst keine unnötigen Umwege einschlagen.

MichaelN
Beiträge: 9656
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: Temperatur via Skript auslesen

Beitrag von MichaelN » 19.07.2022, 11:29

Datenpunkte richig auslesen siehe viewtopic.php?f=31&t=30127

Systemvariablen richtig referenzieren siehe Signatur, Skript-Befehle

Verbesserungsvorschläge
Bigfoot0485 hat geschrieben:
19.07.2022, 10:11
das periodisch alle 5 Min. ausgeführt wird
Warum nicht jedesmal, wenn sich die Temperatur ändert???
Bigfoot0485 hat geschrieben:
19.07.2022, 10:11
Womöglich kann man das aber auch ohne Programmierung realisieren.
Siehe viewtopic.php?f=26&t=48900#p490166
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Baxxy
Beiträge: 10789
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2208 Mal

Re: Temperatur via Skript auslesen

Beitrag von Baxxy » 19.07.2022, 12:03

Wenn jetzt kein Weg an einer SysVar vorbeiführt könnte man die auch ganz Script-frei mit einem Datenpunkt synchronisieren. Irgendwo gibt's hier ne gute Anleitung (von @Alchy) dazu.

Matsch
Beiträge: 5427
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 734 Mal

Re: Temperatur via Skript auslesen

Beitrag von Matsch » 19.07.2022, 13:33

Bigfoot0485 hat geschrieben:
19.07.2022, 10:11
Ich habe also ein Programm angelegt, das periodisch alle 5 Min. ausgeführt wird.
Denkfehler! Die CCU ist ein eventgetriggertes System und kein time-slot-System! Deshalb grundsätzlich keine zyklischen zeitgesteuerten Triggerungen, sondern Triggerungen bei Änderung der beobachteten Datenpunkte oder Variablen.

Wie man Datenpunkte im Script abfragt, findest du übrigens auch in der Dokumentation zur Scriptsprache.

Bigfoot0485
Beiträge: 10
Registriert: 19.07.2022, 10:00
System: Alternative CCU (auf Basis OCCU)

Re: Temperatur via Skript auslesen

Beitrag von Bigfoot0485 » 19.07.2022, 14:32

Baxxy hat geschrieben:
19.07.2022, 11:11
"von hinten durch die Brust ins Auge und dann noch mit Script"... ist hier der denkbar schlechteste Weg.

Du setzt dich mal an deinen ioBroker und konfigurierst einen hm-rpc Adapter korrekt für HmIP. Dann kannst du alles über den ioBroker auslesen und brauchst keine unnötigen Umwege einschlagen.
Naja - das wäre mir natürlich am liebsten.
Das habe ich aber vor urzeiten erfolglos versucht und nun nutze ich das Ding "produktiv". Bin daher etwas vorsichtig.

Hast du da eine gute Anleitung für mich?

Wenn ich das Ding hinzufüge, sieht die neue Instanz im Objekt-Browser bei mir so aus:
screenshot.png

Bigfoot0485
Beiträge: 10
Registriert: 19.07.2022, 10:00
System: Alternative CCU (auf Basis OCCU)

Re: Temperatur via Skript auslesen

Beitrag von Bigfoot0485 » 19.07.2022, 14:43

MichaelN hat geschrieben:
19.07.2022, 11:29
Datenpunkte richig auslesen siehe viewtopic.php?f=31&t=30127

Systemvariablen richtig referenzieren siehe Signatur, Skript-Befehle
Gelingt mir leider nicht. Irgendwie finde ich das rote, das grüne und das hellblaue Fragment, aber nicht das dunkelblaue Fragment. Ich werde aber mal schauen, ob ich die Doku dazu finde. Vielleicht stehen da ja die Namen drin.
MichaelN hat geschrieben:
19.07.2022, 11:29
Warum nicht jedesmal, wenn sich die Temperatur ändert???
Soll mir auch recht sein. Aber so feingranular brauche ich es eigentlich nicht. Andere Temperaturen zeichne ich auch "nur" im 5 Min. Takt auf. Bei Änderungs-Event würde ich bei dem Dezimalwert erwarten, dass ich wesentlich mehr Datenpunkte bekomme. Aber wenn das einfacher ginge: gern.

Matsch
Beiträge: 5427
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 734 Mal

Re: Temperatur via Skript auslesen

Beitrag von Matsch » 19.07.2022, 14:49

Bigfoot0485 hat geschrieben:
19.07.2022, 14:43
Aber wenn das einfacher ginge: gern.
Dann tu's doch! Halte dich einfach an das Systemkonzept Eventtriggerung. Sehr einfach.
Vielleicht mal Handbuch lesen, wie's geht (Kap. 18.2)?

Benutzeravatar
Baxxy
Beiträge: 10789
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2208 Mal

Re: Temperatur via Skript auslesen

Beitrag von Baxxy » 19.07.2022, 15:04

Bigfoot0485 hat geschrieben:
19.07.2022, 14:32
Naja - das wäre mir natürlich am liebsten.

Hast du da eine gute Anleitung für mich?
Brauchst du doch gar nicht mehr, ist doch laut Screenshot alles da.
Eventuell musst du noch im rega-Adapter für HomematicIP die hm-rpc-Instanz aktivieren, geht ganz einfach.

Mache mal den Ordner vom eTRV-B1 auf, dann die 1.
Da stecken dann IST ("ACTUAL_TEMPERATURE"), SOLL ("SET_POINT_TEMPERATURE") und alles mögliche andere drin.

Kein Grund dich mit Scripten und SysVars zu quälen. 8)

Bigfoot0485
Beiträge: 10
Registriert: 19.07.2022, 10:00
System: Alternative CCU (auf Basis OCCU)

Re: Temperatur via Skript auslesen

Beitrag von Bigfoot0485 » 19.07.2022, 15:57

Baxxy hat geschrieben:
19.07.2022, 15:04
Eventuell musst du noch im rega-Adapter für HomematicIP die hm-rpc-Instanz aktivieren, geht ganz einfach.
screenshot3.png
screenshot3.png (23.25 KiB) 774 mal betrachtet
screenshot4.png
screenshot4.png (19.35 KiB) 774 mal betrachtet
screenshot5.png
screenshot5.png (5.91 KiB) 774 mal betrachtet
Baxxy hat geschrieben:
19.07.2022, 15:04
Mache mal den Ordner vom eTRV-B1 auf, dann die 1.
Da stecken dann IST ("ACTUAL_TEMPERATURE"), SOLL ("SET_POINT_TEMPERATURE") und alles mögliche andere drin.

Kein Grund dich mit Scripten und SysVars zu quälen. 8)
Leider sind sämtliche Ordner außer hm-rpc/1/00129B33939BA6/0 leer.
screenshot2.png
Hat das eventuell damit zu tun, dass ich meinen ioBroker als Docker Container laufen habe?
Gibt es da eine sonst wie gearteten Kommunikationsaufbau vom RaspberryMatic?

Antworten

Zurück zu „RaspberryMatic“