Thermostate automatisch AUTO<->MANU Modus umschalten

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Horst2
Beiträge: 12
Registriert: 30.11.2018, 16:02
Danksagung erhalten: 2 Mal

Re: Thermostate automatisch AUTO<->MANU Modus umschalten

Beitrag von Horst2 » 13.02.2022, 19:43

Mir ist gerade ein interessanter Bug im Skriptinterpreter (bei aktuellem RaspberryMatic 3.61.7.20220115 (rpi3) und mit hoher Wahrscheinlichkeit auch in der CCU und in älteren Versionen) aufgefallen, der in dem Skript von jollyjinx zum tragen kommt:
Die if-Bedingung in der Zeile

Code: Alles auswählen

if( "HM-CC-RT-DN" == device.HSSID() )
ist immer wahr, d.h. das Skript läuft bei mir für alle Geräte, nicht nur die Thermostate, in die Bedingung rein!
Die Methode .HSSID() funktioniert nur für Datenpunkte, nicht für Kanäle und nicht für Geräte.

Eine Zeile wie z.B.
var hssid = device.HSSID();
führt zu einem Laufzeitfehler.
In einer if-Bedingung führt der ungültige Ausdruck aber offenbar einfach zu einem WAHR für die Bedingung anstatt zu einem Laufzeitfehler. Dies ist in meinen Augen ein Fehler im HomeMatic-Skript-Interpreter!

Zurück zum Skript selbst. Die oben angeführte Zeile funktioniert nach Änderung in

Code: Alles auswählen

  if( "HM-CC-RT-DN" == device.HssType() )
wie beabsichtigt! Auch die Zeile
if( "CLIMATECONTROL_RT_TRANSCEIVER" == channel.HSSID() )
sollte in

Code: Alles auswählen

  if( "CLIMATECONTROL_RT_TRANSCEIVER" == channel.HssType() )
geändert werden, damit der Block nicht für sinnlose Kanäle durchlaufen wird.

PS: Da es inzwischen nicht mehr nur den "HM-CC-RT-DN"-Thermostat gibt, sondern auch viele andere, sind wohl weitere Anpssungen notwendig. Eine Variante wäre, wirklich für alle Gerätetypen nach Kanälen vom Typ "CLIMATECONTROL_RT_TRANSCEIVER" zu suchen.

Benutzeravatar
jollyjinx
Beiträge: 131
Registriert: 18.03.2014, 14:04
Wohnort: Taufkirchen b. München
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Thermostate automatisch AUTO<->MANU Modus umschalten

Beitrag von jollyjinx » 23.02.2022, 20:33

Den HSS type habe ich mit einem Pull Request gefixt ( ich hatte das bei Umstellen auf einen Raspberry mit HomeMatic 3.x gemacht ohne es zu pushen ), daher ist es in meinen und anderen Installationen nicht aufgefallen. Ich bin gerne bereit auch Pullrequests anzunehmen falls Du das auf andere Geräte anpassen willst. Meine HM Installation läuft einfach seit 7 Jahren problemlos, da habe ich noch nicht das Bedürfnis gehabt es anzupassen ;D
114 Kanaele in 22 Geraeten, 10 Geraetetypen:
2x HM-Sec-WDS-2(Funk-Wassermelder), 1x HM-Sec-SC-2(Funk-Tuer-/ Fensterkontakt), 1x HM-RCV-50(CCU2 System), 2x HM-ES-TX-WM(Funk-Sender fuer Energiezaehler-Sensor), 7x HM-CC-RT-DN(Funk-Heizkoerperthermostat), 1x HM-LC-Sw4-SM(Funk-Schaltaktor 4-fach), 5x HM-Sec-SCo(Funk- Tuer-/Fensterkontakt optisch), 1x HM-ES-PMSw1-Pl(Funk-Schaltaktor mit Leistungsmessung), 1x HM-LC-Sw1-Pl-2(Funk-Schaltaktor 1-fach), 1x HM-LC-Sw1PBU-FM(Funk-Schaltaktor 1-fach fuer Markenschalter)
--------------------------------------------
Inventur mit Jollys InventurScript erzeugt.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“