Rules in OH3 Sitemap einbinden
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Rules in OH3 Sitemap einbinden
Danke erst einmal für die Infos. Da ich noch Anfänger bin, arbeite ich nur in der Oberfläche über den Browser von OpenHab 3. Dort habe ich nun eine Gruppe AlleRollos angelegt und die einzelnen Rollos dazugegeben. Wie komme ich zu der Ansicht, dass ich den Befehl AlleRollos.allMembers.forEach[i|i.sendCommand(100)] absetzen kann und dann in eine Sitemap einbauen könnte ?
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rules in OH3 Sitemap einbinden
Wenn Du nur die eine Gruppe hast und keine Untergruppen, reicht es, das Gruppenitem zu nutzen. Funktioniert aber nur, wenn die Rollläden absolut positioniert werden können. Ansonsten brauchst Du tatsächlich eine Gruppe und ein Item zum Steuern.
Dazu legst Du ein Rollershutter Item an, welches mit keinem Channel verlinkt wird, nennen wir es mal AlleShutter.
Dann legst Du eine Rule an (geht über die Main UI), und zwar eine DSL Rule.
When-Teil: AlleShutter received command
Then-Teil: AlleRollos.members.forEach[i|i.sendCommand(receivedCommand)]
Ferrrdisch...
Wenn die Gruppe AlleRollos Untergruppen hat, muss das members durch allMembers ersetzt werden.
Dazu legst Du ein Rollershutter Item an, welches mit keinem Channel verlinkt wird, nennen wir es mal AlleShutter.
Dann legst Du eine Rule an (geht über die Main UI), und zwar eine DSL Rule.
When-Teil: AlleShutter received command
Then-Teil: AlleRollos.members.forEach[i|i.sendCommand(receivedCommand)]
Ferrrdisch...
Wenn die Gruppe AlleRollos Untergruppen hat, muss das members durch allMembers ersetzt werden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Rules in OH3 Sitemap einbinden
Ich habe jetzt eine Gruppe AlleRollos und eine Rule AlleRolloszu. Wie kann ich jetzt die Gruppe (damit alle Rolloaktoren) steuern bzw. in die Sitemap integrieren ?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 1161
- Registriert: 4. Nov 2019 22:08
Re: Rules in OH3 Sitemap einbinden
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Rules in OH3 Sitemap einbinden
Ok, aber in der UI kann ich das nirgendwo so eintragen mit dem Code. Wie oder wo kann ich die Items, Rules,... per Code konfigurieren ?
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rules in OH3 Sitemap einbinden
Doch, das geht.
Main UI -> Administration -> Einstellungen -> Rules -> unten rechts weißes Plus auf blauem Grund -> Daten eintragen (Unique ID und Name) Im When-Teil Add Trigger -> Item -> Item auswählen -> Pick (oben rechts) -> Triggerart auswählen (received command) -> Done (oben rechts)
Im Then-Teil Add Action -> Run Script -> Rule DSL
Dann den Code einfügen und Save (oben rechts), danach Back (oben links)
Nun solltest Du, wenn Du die Code-Ansicht einschaltest (rechts oben) eine Ansicht ähnlich dieser erhalten:
Code: Alles auswählen
triggers:
- id: "1"
configuration:
itemName: AlleShutter
type: core.ItemCommandTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/vnd.openhab.dsl.rule
script: AlleRollos.members.forEach[i|i.sendCommand(receivedCommand)]
type: script.ScriptAction
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Rules in OH3 Sitemap einbinden
OK, das habe ich ja noch geschafft, aber damit habe ich noch keinen Eintrag auf der Sitemap, wie ich die Rollos steuern kann. Das was int5749 geschrieben hat würde das Item anlegen, die Rule und den Eintrag in der Sitemap, aber das ist ein anderer Code (nicht mit triggers: conditions: actions: ). Und wo bzw. wie man diesen Code eintragt, wollte ich noch wissen.
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rules in OH3 Sitemap einbinden
Na, in der Sitemap musst Du nur das Item eintragen. Du hast Dir aber schon mal die Oberfläche angeschaut, oder?
Sitemaps sind in openHAB3 übrigens die 2. Wahl, eigentlich macht man das über Pages. Aber sei's drum, Sitemap per UI:
Main UI -> Administration -> Einstellungen -> Pages -> unten rechts weißes Plus auf blauem Grund -> Create Sitemap -> New Sitemap selektieren -> ID und Label setzen -> Insert Widget inside Sitemap -> Frame (wird automatisch selektiert) -> Insert Widget inside Frame -> Default (wird automatisch selektiert) -> Item AlleShutter auswählen -> Save (oben rechts). Codeansicht ergibt dann so etwas:
bzw. untendrunter:
Sitemaps sind in openHAB3 übrigens die 2. Wahl, eigentlich macht man das über Pages. Aber sei's drum, Sitemap per UI:
Main UI -> Administration -> Einstellungen -> Pages -> unten rechts weißes Plus auf blauem Grund -> Create Sitemap -> New Sitemap selektieren -> ID und Label setzen -> Insert Widget inside Sitemap -> Frame (wird automatisch selektiert) -> Insert Widget inside Frame -> Default (wird automatisch selektiert) -> Item AlleShutter auswählen -> Save (oben rechts). Codeansicht ergibt dann so etwas:
Code: Alles auswählen
sitemap my_sitemap label="Meine Sitemap" {
Frame {
Default item=AlleShutter
}
}
Code: Alles auswählen
Your sitemap definition looks valid.
{
"uid": "my_sitemap",
"component": "Sitemap",
"config": {
"label": "Meine Sitemap"
},
"slots": {
"widgets": [
{
"component": "Frame",
"config": {},
"slots": {
"widgets": [
{
"component": "Default",
"config": {
"item": "AlleShutter"
}
}
]
}
}
]
}
}
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Rules in OH3 Sitemap einbinden
Da ich das mit den Anleitungen nicht ganz geschafft habe, habe ich das Problem nun so gelöst:
In der Sitemap in der Gruppe Rollo´s einen Switch angelegt:
und folgende Rule angelegt (für Rollos auf) und eine zweite Rule analog für Rollos zu: (aber wichtig war der Tipp für den Switch in der Sitemap)
Danke
In der Sitemap in der Gruppe Rollo´s einen Switch angelegt:
Code: Alles auswählen
Switch icon="rollershutter" label="Alle Rollo´s zu / auf" item=AlleRolloszuauf mappings=[ON="zu",OFF="auf"]
Danke
Code: Alles auswählen
triggers:
- id: "1"
configuration:
itemName: AlleRolloszuauf
command: OFF
type: core.ItemCommandTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
itemName: CarinaBuroRollo_Level
command: UP
type: core.ItemCommandAction
- inputs: {}
id: "3"
configuration:
itemName: RolloCarinaZimmer_Level
command: UP
type: core.ItemCommandAction
- inputs: {}
id: "4"
configuration:
itemName: SchlafzimmerRollo_Level
command: UP
type: core.ItemCommandAction
- inputs: {}
id: "5"
configuration:
itemName: RolloEsszimmerFixelement_Level
command: UP
type: core.ItemCommandAction
- inputs: {}
id: "6"
configuration:
itemName: RolloEsszimmerTerasse_Level
command: UP
type: core.ItemCommandAction
- inputs: {}
id: "7"
configuration:
itemName: RolloEsszimmerWintergarten_Level
command: UP
type: core.ItemCommandAction
-
- Beiträge: 1161
- Registriert: 4. Nov 2019 22:08
Re: Rules in OH3 Sitemap einbinden
Mir ist da auch noch kein anderer Weg bekannt, da die Sitemap (so schön ich diese auf einem mobilen Gerät finde) in die Tage gekommen ist, muss man dort noch das "alte" Verfahren anwenden.
Ich denke, die Rule kann man stark einkürzen und eine für alles nehmen. Ich habe meine Rule (ich mache nur alles auf) mal etwas angepasst.
Da diese aus einer Rules datei kommt, kann es sein, dass dies nicht direkt copy/paste funktioniert.
Einfach mal testen.
Hierzu müssen alle Rollos die gefahren werden sollen in einer Gruppe sein "Rollladen"
Code: Alles auswählen
// Triggers:
// - When AlleRolloszuauf received a command
// context: shutter-2
Rollladen.allMembers.filter(f|(f.state as DecimalType).intValue!==0).forEach[ s|
s.sendCommand(receivedCommand.state)
logInfo("Shutter", s.name + " received UP")
])
]
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3