Seite 1 von 5
<gelöst>Things via VSC erstellen
Verfasst: 24. Aug 2020 19:09
von scotty
Hallo Zusammen,
zur Zeit versuche ich alle Things und Items, die mittels Paper UI erzeugt wurden, duch Visual Studio Code neu zu erstellen. Leider funktioniert die Gruppensteuerung mit Rollershutter nicht. Müssen da Besonderheiten berücksichtigt werden oder klappt dies grundsätzlich nicht?
Viele Grüße
Things via VSC erstellen
Verfasst: 25. Aug 2020 09:48
von udo1toni
Nein, die Gruppensteuerung funktioniert schon. Ich nehme mal an, Du schickst UP/DOWN/STOP an das Gruppenitem, und die einzelnen Läden fahren nicht?
Hast Du die Gruppe als Group:Rollershutter definiert? Falls das nicht hilft, musst Du die Steuerung über eine Rule lösen (ich mache das ohnehin schon immer so):
Code: Alles auswählen
rule "shutter group weiterleiten"
when
Item myShutterGroup received command
then
if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
myShutterGroup.members.forEach[r|r.sendCommand(receivedCommand)]
end
Falls die Gruppe einen Befehl empfängt, der nicht vom Typ Number ist, wird der Befehl an jedes Item der Gruppe gesendet.
Ein Befehl vom Typ Number sollte auf jedne Fall funktionieren.
Meine Vermutung dazu: Die entsprechende Routine in openHAB greift auf den Status der Gruppe zu. Es gibt aber keine Status UP/DOWN oder STOP. Aber das ist nur eine Vermutung.
Wenn die Gruppe hingegen nicht explizit als Rollershutter definiert ist, kennt sie noch nicht mal die Befehle, dann kann es nicht funktionieren.
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 11:45
von scotty
Hallo Udo,
vielen Dank für deine Hilfe. Leider hat es noch nicht geklappt. Ich schick mal mehr Infos, vielleicht schaust du noch einmal drüber. Es hat ja bis jetzt immer geklappt.
Items:
Code: Alles auswählen
Group gAlleS
Group gHintenS
Group gWohnenS
Group gVorneS
Rollershutter RollTerrLi "Rolläden Garten" (gAlleS,gHintenS,gWohnenS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter RollTerrRe "Rolläden Garten" (gAlleS,gHintenS,gWohnenS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter RollGalerie "Rolläden Garten" (gAlleS,gHintenS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter RollBuero "Rolläden Garten" (gAlleS,gHintenS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter RollKueche "Rolläden Front" (gAlleS,gVorneS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter RollGWC "Rolläden Front" (gAlleS,gVorneS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter RollSchlafen "Rolläden Front" (gAlleS,gVorneS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter RollBad "Rolläden Front" (gAlleS,gVorneS) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rules:
Code: Alles auswählen
rule "weiterleiten"
when
Item gWohnenS received command
then
if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
gWohnenS.forEach[r|r.sendCommand(receivedCommand)]
end
Fehlermeldung:
fehler.png
Gruß
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 12:56
von peter-pan
..hast du schon mal "gWohnenS.members.forEach..." probiert ?
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 14:39
von udo1toni
Ja, sorry, da hab ich ein Wort vergessen...
Es muss natürlich gWohnenS.members.forEach[...] heißen.
Aber auch nochmal der Hinweis: Definiere bitte mal die Group als Group:Rollershutter gWohnenS. Vielleicht geht es dan sogar ganz ohne Rule.
Ich ergänze oben noch das fehlende members...
Gesendet von iPad mit Tapatalk
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 15:44
von scotty
Danke für den Hinweis, peter-pan. Der Fehler ist nun weg, die Gruppensteuerung funktioniert allerdings immer noch nicht. Ich schicke UP/DOWN/STOP über ein Shutter-Widget an das Gruppenitem "gWohnenS".
Hier ein Schnipsel aus event.log:
Code: Alles auswählen
2020-08-25 15:26:07.294 [ome.event.ItemCommandEvent] - Item 'RollTerrLi' received command DOWN
2020-08-25 15:26:07.303 [ome.event.ItemCommandEvent] - Item 'RollTerrRe' received command DOWN
2020-08-25 15:26:07.307 [nt.ItemStatePredictedEvent] - RollTerrLi predicted to become NULL
2020-08-25 15:26:07.309 [nt.ItemStatePredictedEvent] - RollTerrRe predicted to become NULL
Hab ihr noch weitere Tipps? Ich möchte mein Vorhaben (Things und Items über VSC anlegen) möglichst verwirklichen, soweit dies eben funktioniert.
Gruß
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 15:59
von scotty
Jetzt hat sich wohl mein letzter Beitrag mit dem von udo überschnitten.
@udo1toni
"Definiere bitte mal die Group als Group:Rollershutter gWohnenS" - nur mal für mich, wie und wo wird das gemacht?
Gruß
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 16:06
von udo1toni
scotty hat geschrieben:Jetzt hat sich wohl mein letzter Beitrag mit dem von udo überschnitten.
@udo1toni
"Definiere bitte mal die Group als Group:Rollershutter gWohnenS" - nur mal für mich, wie und wo wird das gemacht?
Gruß
Na, in der Items-Datei. Du schreibst einfach statt Group Group:Rollershutter.
Gesendet von iPad mit Tapatalk
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 16:08
von udo1toni
Was die Rule betrifft:
Kannst Du mal ein logInfo() vorne in die Rule mit rein schreiben und schauen, ob sie überhaupt getriggert wird? Das sollte eigentlich der Fall sein, aber da keine Reaktion erfolgt...
Gesendet von iPad mit Tapatalk
Re: Things via VSC erstellen
Verfasst: 25. Aug 2020 16:59
von scotty
Funktioniert leider immer noch nicht.
Items:
Code: Alles auswählen
Group:Rollershutter gAlleS
Group:Rollershutter gHintenS
Group:Rollershutter gWohnenS
Group:Rollershutter gVorneS
....
sonst wie oben
Rule:
Code: Alles auswählen
rule "weiterleiten"
logInfo()
when
Item gWohnenS received command
then
if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
gWohnenS.members.forEach[r|r.sendCommand(receivedCommand)]
end
Log:
Code: Alles auswählen
2020-08-25 16:45:11.992 [ome.event.ItemCommandEvent] - Item 'gWohnenS' received command DOWN
2020-08-25 16:45:12.009 [ome.event.ItemCommandEvent] - Item 'RollTerrLi' received command DOWN
2020-08-25 16:45:12.022 [ome.event.ItemCommandEvent] - Item 'RollTerrRe' received command DOWN
2020-08-25 16:45:12.026 [nt.ItemStatePredictedEvent] - RollTerrLi predicted to become NULL
2020-08-25 16:45:12.030 [nt.ItemStatePredictedEvent] - RollTerrRe predicted to become NULL
Neustart vollzogen, keine Reaktion. Was kann ich noch tun?