[GELÖST] dom.GetObject liefert immer 0

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

Moderatoren: jmaus, Co-Administratoren

Malz1902
Beiträge: 71
Registriert: 08.08.2019, 15:22
Hat sich bedankt: 5 Mal

[GELÖST] dom.GetObject liefert immer 0

Beitrag von Malz1902 » 04.06.2020, 07:21

Hallo zusammen,

ich habe in meiner CCU ein Skript, welches mir die aktuelle Rollohöhe in eine Variable speichert sobald das Rollo steht und es eine Änderung in der Höhe gibt.. Seit ein paar Tagen geht das nicht mehr, ich bekomme immer 0 zurück geliefert.

Code: Alles auswählen

real leve1l;
real level2;
var level1 = dom.GetObject("HmIP-RF.XXXXXXXXXX:3.LEVEL").Value()*100;
var level2 = dom.GetObject("HmIP-RF.XXXXXXXXXX:4.LEVEL").Value()*100;
WriteLine(level1);
WriteLine(level2);

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: dom.GetObject liefert immer 0

Beitrag von MichaelN » 04.06.2020, 09:14

Warum definierst Du die Variable 2x und das mit unterschiedlichen Typen?
Funktioniert es vielleicht, wenn Du die erste (überflüssige) Definition weglässt?
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 +++

Malz1902
Beiträge: 71
Registriert: 08.08.2019, 15:22
Hat sich bedankt: 5 Mal

Re: dom.GetObject liefert immer 0

Beitrag von Malz1902 » 04.06.2020, 09:30

In der CCU steht es bisher immer so:

Code: Alles auswählen

real level;
level = dom.GetObject("HmIP-RF.XXXXXXX:3.LEVEL").Value()*100;
dom.GetObject("Rollo_Esszimmer").State(level);
Aber auch das klappt nicht

Hatte auch schon :4.LEVEL getestet
Zuletzt geändert von Malz1902 am 04.06.2020, 09:31, insgesamt 1-mal geändert.

LibertyX
Beiträge: 767
Registriert: 10.11.2012, 19:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: RP
Hat sich bedankt: 1 Mal
Danksagung erhalten: 19 Mal

Re: dom.GetObject liefert immer 0

Beitrag von LibertyX » 04.06.2020, 09:30

Vielleicht isses auch der Tippfehler in Zeile 1
RaspberryMatic (3.71.12.20231020) @RPI3 | 218 Kanäle in 53 Geräten und 72 CUxD-Kanäle in 8 CUxD-Geräten (2.11) | iobroker.pro - CCU-Historian (3.4.0)

Malz1902
Beiträge: 71
Registriert: 08.08.2019, 15:22
Hat sich bedankt: 5 Mal

Re: dom.GetObject liefert immer 0

Beitrag von Malz1902 » 04.06.2020, 09:33

LibertyX hat geschrieben:
04.06.2020, 09:30
Vielleicht isses auch der Tippfehler in Zeile 1
Hatte das gerade hier abgetippt und wohl ein l zu viel gemacht, in der CCU steht es ohne Tippfehler aber auch da kommt 2mal 0 zurück für :3.LEVEl nd :4.LEVEL obwohl das Rollo bei 83 steht. Weil im ioBroker wird auf :3.LEVEL die echte Höhe angezerigt, aber in der CCU nicht

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

Re: dom.GetObject liefert immer 0

Beitrag von Matsch » 04.06.2020, 09:38

Wie wäre es, wenn du nicht mit 100, sondern mit 100.0 multiplizieren würdest?
Vielleicht macht die Zentrale hier eine implizite Typkonvertierung? Dann wäre der Wert des Gerätes nämlich immer 0.

Malz1902
Beiträge: 71
Registriert: 08.08.2019, 15:22
Hat sich bedankt: 5 Mal

Re: dom.GetObject liefert immer 0

Beitrag von Malz1902 » 04.06.2020, 09:42

Matsch hat geschrieben:
04.06.2020, 09:38
Wie wäre es, wenn du nicht mit 100, sondern mit 100.0 multiplizieren würdest?
Vielleicht macht die Zentrale hier eine implizite Typkonvertierung? Dann wäre der Wert des Gerätes nämlich immer 0.
Werde ich heute Abend mal testen, aber auch wenn ich das *100 weg nehme hatte ich gestern Abend oimmer 0 zurück bekommen

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: dom.GetObject liefert immer 0

Beitrag von jp112sdl » 04.06.2020, 10:13

Die eingangs aufgeführte Doppeldeklaration ist zwar nicht schön, aber nicht schädlich.
Mit den klassischen BidCos-RF Aktoren funktioniert (dort natürlich auf :1) genau dieses Skript-Snippet.
Bildschirmfoto 2020-06-04 um 10.12.53.png
HmIP hab ich nicht... aber kann es evtl. am falschen Kanal liegen?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: dom.GetObject liefert immer 0

Beitrag von MichaelN » 04.06.2020, 10:24

:3.LEVEL sollte richtig sein
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 +++

Malz1902
Beiträge: 71
Registriert: 08.08.2019, 15:22
Hat sich bedankt: 5 Mal

Re: dom.GetObject liefert immer 0

Beitrag von Malz1902 » 04.06.2020, 10:35

bis vor e9nigen Tagen lieft das auch

Code: Alles auswählen

real level;
level = dom.GetObject("HmIP-RF.XXXXXXX:3.LEVEL").Value()*100;
dom.GetObject("Rollo_Esszimmer").State(level);
Aber jetzt warum auch immer nicht mehr. RaspberryMatic hatte ich auch nicht aktualsiert in den letzten Wochen.

Antworten

Zurück zu „RaspberryMatic“