.Variable() auf Datenpunkte ausführbar - Geräte dadurch unbrauchbar

Fehler in Firmware und WebUI & Workarounds

Moderator: Co-Administratoren

Benutzeravatar
jmaus
Beiträge: 9819
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 459 Mal
Danksagung erhalten: 1856 Mal
Kontaktdaten:

Re: .Variable() auf Datenpunkte ausführbar - Geräte dadurch unbrauchbar

Beitrag von jmaus » 17.07.2018, 09:15

jp112sdl hat geschrieben:
17.07.2018, 09:09
Es reicht wohl tatsächlich aus, mit

Code: Alles auswählen

oDP.Variable("NEQ0386972:1");
den Datenpunkt wieder zu setzen!
"Richtiger" wäre in der Tat folgenden Aufruf zu verwenden:

Code: Alles auswählen

oDP.HSSAddress("NEQ0386972:1");
D.h. Statt wie auch hier fälschlicherweise .Variable() zu verwenden sollte man gleich .HSSAddress() verwenden um die HSS Adresse dieses Datenpunkts wieder auf die korrekte/vorherige zu setzen.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
jmaus
Beiträge: 9819
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 459 Mal
Danksagung erhalten: 1856 Mal
Kontaktdaten:

Re: .Variable() auf Datenpunkte ausführbar - Geräte dadurch unbrauchbar

Beitrag von jmaus » 17.07.2018, 09:20

alchy hat geschrieben:
16.07.2018, 23:06
Da ich weder pocketcontrol noch mediola einsetze und bestimmt auch nicht noch diese Software kaufe um hier Support zu leisten, musst du auf meine Mitarbeit diesbezüglich verzichten.
Das ist kein Problem. Aber auch das "durchforsten" der hier im Forum angebotenen prominenten Skripte wäre schon eine Hilfe um ein Gefühl dafür zu bekommen wie problematisch ggf. das zurückändern der .Variable() Funktion wäre.
alchy hat geschrieben:
16.07.2018, 23:06
Du hast schon bei falscher Benutzung anderer Methoden die entsprechenden, aussagekräftige Fehler ins log schreiben lassen.
Das wäre meiner Meinung nach auch hierfür die beste Methode.
Da hast du vollkommen Recht. Das werde ich definitiv für diesen Fall in ReGa dann einbauen sodass zumindest aus dem Logfile sehr klar erkenntlich gemacht wird das hier eine falsche Nutzung von .Variable() vorliegt.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: .Variable() auf Datenpunkte ausführbar - Geräte dadurch unbrauchbar

Beitrag von alchy » 17.07.2018, 10:14

Was den Einzeller angeht, genau so ist es.


Man kann also auch das System per Script nach falschen Werten scannen um überhaupt zu erfahren, ob ein Problem besteht.

Und die Meldung ins Log würde auf alle Fälle helfen, egal wie das Ganze ausgeht.

Alchy
Unterwegs

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
jmaus
Beiträge: 9819
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 459 Mal
Danksagung erhalten: 1856 Mal
Kontaktdaten:

Re: .Variable() auf Datenpunkte ausführbar - Geräte dadurch unbrauchbar

Beitrag von jmaus » 17.07.2018, 10:28

alchy hat geschrieben:
17.07.2018, 10:14
Man kann also auch das System per Script nach falschen Werten scannen um überhaupt zu erfahren, ob ein Problem besteht.
Da ich ein Freund der Unix-Kommandozeile bin würde ich selbst das ganze einfach wie folgt in einer SSH Sitzung erledigen:

Code: Alles auswählen

grep hss-adr /etc/config/homematic.regadom | egrep -v ":[0-9]"
D.h., wenn der Aufruf hier irgendeine Ausgabe erzeugt sollte man in der Tat von dem Problem betroffen sein. Gibt das Kommando allerdings nichts aus, sollte alles soweit passen
alchy hat geschrieben:
17.07.2018, 10:14
Und die Meldung ins Log würde auf alle Fälle helfen, egal wie das Ganze ausgeht.
Da bin ich ganz deiner Meinung!
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: .Variable() auf Datenpunkte ausführbar - Geräte dadurch unbrauchbar

Beitrag von Bratmaxe » 17.07.2018, 10:33

Vielen Dank!
Gruß Carsten

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: .Variable() auf Datenpunkte ausführbar - Geräte dadurch unbrauchbar

Beitrag von alchy » 19.07.2018, 12:44

jmaus hat geschrieben:
17.07.2018, 10:28
Da ich ein Freund der Unix-Kommandozeile bin würde ich selbst das ganze einfach wie folgt in einer SSH Sitzung erledigen:
Hüstel, mit Verlaub: nun wäre möglich enthält aber weitere Fallstricke:
  • der Fehler muss dafür auch schon in der regadom gespeichert sein.
  • ist HSSAddress() zwar falsch enthält jedoch im String z.B. :1 oder :4 oder ähnliche Zeichenfolgen dann wird suggeriert, das kein Problem vorhanden ist, was nicht zwangsläufig si sein muss.
  • selbst wenn Punkt 1 und 2 nicht greifen, dann hilft die Ausgabe den User nicht weiter, da er nicht weiß um welchen Datenpunkt / Gerät es sich handelt
  • ... hab ich noch nicht drüber nachgedacht.
Alchy

Im Übrigen enthält .Variable() auch auf eine Systemvariable angewendet noch einen "erklärungswürdigen" Zustand, den ich gerne erklärt bekommen hätte.
z.B.
Welchen Zustand ( .State() .Variable() .Value() )
sollte die Anwendung der Methode .Variable() auf eine Systemvariable vom Typ Logik z.B. mit dem Wert: -1 annehmen?

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „HomeMatic - bekannte Bugs“