Shelly SETSTATE funktioniert nicht :(

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Benutzeravatar
homematic_jolle
Beiträge: 11
Registriert: 31.05.2023, 07:51
System: CCU
Hat sich bedankt: 3 Mal

Shelly SETSTATE funktioniert nicht :(

Beitrag von homematic_jolle » 12.06.2023, 19:45

Hey zusammen,

ich habe mir die typische Anbindung von Shellys an die CCU3 realisiert.
Sprich: Aktiviert der Shelly den Stromausgang meldet er der CCU3 den neuen Status:

Code: Alles auswählen

OUTPUT SWITCHED ON URL: http://ccu3-webui:8181/cuxd.exe?ret=dom.GetObject("shelly:1").State(1)
OUTPUT SWITCHED OFF URL: http://ccu3-webui:8181/cuxd.exe?ret=dom.GetObject("shelly:1").State(0)
Bisher immer problemlos. Jetzt habe ich einen "alten" Shelly neu einbinden müssen und habe festgestellt, dass es nun eine Schleife läuft.
Sprich: Das ausschalten lässt den Shelly die URL aufrufen, was wiederum in der CCU3 dazu führt, dass der CuxD-Switch ausschaltet und wieder den Shelly ausschaltet usw. - in Dauerschleife.

Dann habe ich etwas vom Kommando SETSTATE gelesen und versucht den zu nutzen, damit NUR der Status vom CuXD-Gerät geändert wird:

Code: Alles auswählen

OUTPUT SWITCHED ON URL: http://ccu3-webui:8181/cuxd.exe?ret=dom.GetObject("shelly:1.SET_STATE").State(1)
Das Kommando ignoriert mein CuxD aber komplett. Es passiert garnix.
Habe ich das richtig geschrieben? Groß-Kleinschreibung oder irgendwas anderes doofes?

Ich finde den Fehler nicht.

Danke für jeden Rat. Grüße Jolle

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

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von Baxxy » 12.06.2023, 19:57

homematic_jolle hat geschrieben:
12.06.2023, 19:45
Habe ich das richtig geschrieben? Groß-Kleinschreibung oder irgendwas anderes doofes?
Irgendwas dazwischen... :wink:

Entweder:

Code: Alles auswählen

OUTPUT SWITCHED ON URL: http://ccu3-webui:8181/cuxd.exe?ret=dom.GetObject("shelly:1").DPByHssDP ("SET_STATE").State(1)
oder (Seriennummer anpassen):

Code: Alles auswählen

OUTPUT SWITCHED ON URL: http://ccu3-webui:8181/cuxd.exe?ret=dom.GetObject("CUxD.CUX2804002:1.SET_STATE").State(0);

Benutzeravatar
homematic_jolle
Beiträge: 11
Registriert: 31.05.2023, 07:51
System: CCU
Hat sich bedankt: 3 Mal

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von homematic_jolle » 12.06.2023, 20:10

Bist der Beste - jetzt gehts. Danke!!!

FredB
Beiträge: 35
Registriert: 20.04.2022, 09:03
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von FredB » 17.09.2023, 18:31

Hier möchte ich mich auch mal draufhängen.. Bei 22 Stück Shelly geht der Befehl:

Code: Alles auswählen

http://xxx:xxx@server:8181/cuxd.exe?ret=dom.GetObject(%27Steckdose23.Mattis:7%27).State(0)
ohne Probleme. Ausschalten, also State(0) geht auch, nur State(1) will er nicht. Er lässt sich auch nicht über die Weboberfläche der CCU anschalten, nur aus. Die URL's der restlichen 22 Shellys sind alle identisch aufgebaut, ich habe schon gefühlt 100x nach einem Typo gesucht, aber ich komme nicht weiter.
Ich habe den Thread gelesen und sehe, dass meine URL, wie auch bei jolle anders als in der Lösung aufgebaut ist. Nur, wieso geht das denn bei den anderen 22 und beim 23.sten zumindest bei Ausschalten? Zumal in den (zumindest älteren) Tutorials ja die URL auch so aufgebaut ist. Hat sich da irgendwas geändert?

FredB
Beiträge: 35
Registriert: 20.04.2022, 09:03
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von FredB » 18.09.2023, 08:07

Hab's rausgefunden, der Name war in der Fritz Box falsch konfiguriert.
Dennoch 2 offene Fragen:
Bislang sind alle URL's mit %27 (') codiert und funktionieren, ich sehe aber im Code von @Baxxy %22 (") - Egal? Besser mit "richtigen" Anführungszeichen?
Was ist der Vorteil von set state via DBByHssDP gegenüber

Code: Alles auswählen

GetObject(%22NameInCCU:1%22).State(0/1)
?

Vielen Dank vorab!

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

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von Baxxy » 18.09.2023, 08:49

FredB hat geschrieben:
18.09.2023, 08:07
2 offene Fragen:
Welche Anführungszeichen du nutzt ist bei so einfachen Sachen egal, die Scriptengine kommt mit beiden klar.
Bei verschachtelten Sachen (Strings in Strings) kommen dann schon mal beide Varianten gemischt zum Einsatz.
FredB hat geschrieben:
18.09.2023, 08:07
Vorteil von set state via DBByHssDP
Die eine Variante geht rein über den Namen. Dar kann, muss aber nicht auf der Zentrale eindeutig sein. Hast du also 2 Objekte mit identischem Namen könnte das Falsche angesprochen werden.
Die Variante über die Seriennummer ist hingegen eindeutig einem Gerät zuzuordnen.

FredB
Beiträge: 35
Registriert: 20.04.2022, 09:03
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von FredB » 18.09.2023, 12:07

Das mit den Anführungszeichen ist nun klar, Danke!

Nur wo ist der Unterschied/Vorteil von dem Code:

Code: Alles auswählen

http://xxx:8181/cuxd.exe?ret=dom.GetObject("Steckdose23.Mattis:7").DPByHssDP ("SET_STATE").State(1)
gegenüber diesem:

Code: Alles auswählen

http://xxx:8181/cuxd.exe?ret=dom.GetObject("Steckdose23.Mattis:7").State(1)
Funktionieren tut beides und gibt auch die gleiche Rückmeldung aus...

rentier-s
Beiträge: 378
Registriert: 19.06.2017, 09:24
Hat sich bedankt: 20 Mal
Danksagung erhalten: 67 Mal

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von rentier-s » 18.09.2023, 13:26

SET_STATE führt die CMDs nicht aus, sondern setzt nur den Status des CUxD Kanals.

Bei Shellys verwendet man normalerweise CMD_LONG zum Einschalten, CMD_SHORT zum Ausschalten. Wenn der Shelly nun seinen Schaltzustand meldet, würde er sich sozusagen selber nochmal ein- bzw. ausschalten. Mit SET_STATE passiert das nicht.

FredB
Beiträge: 35
Registriert: 20.04.2022, 09:03
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: Shelly SETSTATE funktioniert nicht :(

Beitrag von FredB » 18.09.2023, 15:59

Vielen Dank! Dann werde ich die ganzen URL's ändern, logisch ist ein Schalten nachdem die Rückmeldung des Schaltens kam tatsächlich nicht.
Ich habe die aktuellen Tutorials hierzu nicht gesehen, aber die >2 Jahre Älteren zeigen das alle falsch... Edit: Natürlich nur alle, die ich gesehen habe :)

Antworten

Zurück zu „CUxD“