[gelöst]HMIP Wert per Skript setzen

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
Benutzeravatar
DerHeimer
Beiträge: 167
Registriert: 30.08.2014, 00:57
Danksagung erhalten: 2 Mal

[gelöst]HMIP Wert per Skript setzen

Beitrag von DerHeimer » 08.01.2019, 21:43

Hallo zusammen,
ich scheine mich total verrant zu haben. Zumindest ist es per Skript anders bei HMIP Geräten als bei den HM Devices.
Ich möchte eigentlich nur per Namen(!) in einem Skript ein HMIP Device setzen. Konkret hier einen Kanal eines HMIP-MOD-OC8.

Bei einem HM Device findet man immer folgendes, was problemlos funktioniert:

Code: Alles auswählen

dom.GetObject("Re-8K Lampe1:7").State(1);   !!geht nur bei HM-Devices
Ich kann zwar mittel

Code: Alles auswählen

dom.GetObject("HmIP-RF.000D0123456789:18.STATE").State(1);
den Kanal setzen. Okay. Ich habe aber in meinem Skript gerade nur den Namen: "8K-HMIP-Lampe1:18"

Hier bei alchys Beispielen habe ich den aktuellen Wert erfolgreich ABFRAGEN können:

Code: Alles auswählen

var ipname =(dom.GetObject(ID_CHANNELS)).Get("8K-HMIP-Lampe1:18").DPByHssDP("STATE").Value();
WriteLine(ipname);
Aber wie setze ich nun den Kanal, wenn ich nur den Namen habe?
Ein

Code: Alles auswählen

var ipname =(dom.GetObject(ID_CHANNELS)).Get("8K-HMIP-Lampe1:18").DPByHssDP("STATE").Value(1); !!!das geht nicht!
geht ja nun nicht.

Ich schaffe es auch nicht per Skript von "8K-HMIP-Lampe1:18" zu "HmIP-RF.000D0123456789:18" zu kommen. Dann könnte ich ja mein obiges Beispiel nutzen.
Wahrscheinlich wieder alles ganz einfach.
Vielen Dank im Voraus für einen Tipp.

Heimer
Zuletzt geändert von DerHeimer am 11.01.2019, 18:15, insgesamt 1-mal geändert.

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

Re: HMIP Wert per Skript setzen

Beitrag von alchy » 08.01.2019, 22:37

DerHeimer hat geschrieben:
08.01.2019, 21:43
ich scheine mich total verrant zu haben. Zumindest ist es per Skript anders bei HMIP Geräten als bei den HM Devices.
nein ist es nicht.
DerHeimer hat geschrieben:
08.01.2019, 21:43
Bei einem HM Device findet man immer folgendes, was problemlos funktioniert:
Die Methode .State() direkt auf einen Kanalobjekt anzuwenden wäre aber nicht richtig.

DerHeimer hat geschrieben:
08.01.2019, 21:43
habe ich den aktuellen Wert erfolgreich ABFRAGEN können:


Klar doch, da ich ihn dort abfrage mittels .Value()
Wenn du etwas setzen willst, dann verwende .State()

Code: Alles auswählen

var ipname =(dom.GetObject(ID_CHANNELS)).Get("8K-HMIP-Lampe1:18").DPByHssDP("STATE").State(1);

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.

Benutzeravatar
DerHeimer
Beiträge: 167
Registriert: 30.08.2014, 00:57
Danksagung erhalten: 2 Mal

Re: HMIP Wert per Skript setzen

Beitrag von DerHeimer » 09.01.2019, 22:37

alchy hat geschrieben:
08.01.2019, 22:37
Wenn du etwas setzen willst, dann verwende .State()

Code: Alles auswählen

var ipname =(dom.GetObject(ID_CHANNELS)).Get("8K-HMIP-Lampe1:18").DPByHssDP("STATE").State(1);
Das hatte ich auch schon versucht. Auch mit .State(x) oder .STATE(x)
Für X versuchte ich 0, 1, 0.0, 1.0
Aber der kleine mag einfach nicht schalten.
Habe leider keine anderen IP Geräte hier, sodass ich da testen könnte.

Dennoch funktioniert er via Weboberfläche einwandfrei. Ich kann also keinerlei defekt ausmachen.

Das ist echt seltsam. Noch andere Tipps, was ich testen oder debuggen kann?

Gruß,
Heimer

Benutzeravatar
DerHeimer
Beiträge: 167
Registriert: 30.08.2014, 00:57
Danksagung erhalten: 2 Mal

Re: HMIP Wert per Skript setzen

Beitrag von DerHeimer » 10.01.2019, 22:27

So, nach Reboot, Strom ab und ran usw. geht es anscheinend doch. Ob es aber nun am Browser, Cache, CCU, oder HMIP Gerät lag, kann ich nicht sagen. Na ich teste noch einige Male.
Danke alchy erst einmal!

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“