Dynamische icons in Sitemap
-
- Beiträge: 48
- Registriert: 27. Jan 2018 08:46
Dynamische icons in Sitemap
Moin zusammen,
ich habs in irgendeinem Tutorial mal gesehen...finde es aber nicht wieder. Dort wurden Lampen in Gruppen zusammengefasst. In der Sitemap war eine leuchtende Lampe zu sehen...solange eine der Lampen an war. Wenn alle aus waren wurde das icon grau. Kann mir jemand sagen wie ich das in der Sitemap einstelle? In der Openhab-Hilfe gibt es den Punkt "Dynamische Icons"...aber da werde ich nicht schlau draus.
Danke
ich habs in irgendeinem Tutorial mal gesehen...finde es aber nicht wieder. Dort wurden Lampen in Gruppen zusammengefasst. In der Sitemap war eine leuchtende Lampe zu sehen...solange eine der Lampen an war. Wenn alle aus waren wurde das icon grau. Kann mir jemand sagen wie ich das in der Sitemap einstelle? In der Openhab-Hilfe gibt es den Punkt "Dynamische Icons"...aber da werde ich nicht schlau draus.
Danke
- udo1toni
- Beiträge: 13856
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Dynamische icons in Sitemap
Du fasst alle Lampenitems in einem Group Item zusammen:
Auf der Sitemap sieht das dann so aus:
Das erzeugt ein Widget, welches im Label die Anzahl eingeschalteter Lampen ausweist. Das Icon ist eine Lampe, die automatisch leuchtet, sobald eines der Switch Items auf ON steht. Zusätzlich gibt es statt des Schalters nur eine Schaltfläche Aus!, um alle Lampen auf einen Schlag auszuschalten.
Wahlweise kannst Du auch ein Group Widget verwenden, dann gibt es eine Unterseite auf der alle Items der Gruppe gelistet werden.
Ich mache das bei mir so:
Damit gibt es auf der Unterseite nur für eingeschaltete Lampen ein Widget - und eines, um alle Lampen auszuschalten.
Code: Alles auswählen
Group:Switch:OR(ON,OFF) gLampen "Anzahl Lampen EIN [%d]" <light>
Switch lampe1 "Lampe 1 [%s]" <light> (gLampen) { channel="..." }
Switch lampe2 "Lampe 2 [%s]" <light> (gLampen) { channel="..." }
Code: Alles auswählen
Switch item=gLampen mappings=[OFF="Aus!"]
Wahlweise kannst Du auch ein Group Widget verwenden, dann gibt es eine Unterseite auf der alle Items der Gruppe gelistet werden.
Ich mache das bei mir so:
Code: Alles auswählen
Text item=gLampen {
Switch item=gLampen label="Alle Lampen" mappings=[ OFF="Aus!" ]
Switch item=lampe1 visibility=[ lampe1==ON ]
Switch item=lampe2 visibility=[ lampe2==ON ]
}
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 48
- Registriert: 27. Jan 2018 08:46
Re: Dynamische icons in Sitemap
Code: Alles auswählen
Group:Switch:OR(ON,OFF) gLampen "Anzahl Lampen EIN [%d]" <light>
Switch lampe1 "Lampe 1 [%s]" <light> (gLampen) { channel="..." }
Ich habe folgende Licht-Gruppen
gLight -> alle Leuchten
gEGLight -> alle Leuchten EG
gOGLight -> alle Leuchten OG
gOGSZLight -> alle Leuchten im Schlafzimmer im OG
Wenn ich nun alle Leuchten "kontrollieren möchte...wäre es ja schön wenn die in "gLight" wären...aber eben auch in gEGLight. Verstehst Du was ich meine?
-
- Beiträge: 48
- Registriert: 27. Jan 2018 08:46
Re: Dynamische icons in Sitemap
Mit Switch-Items klappt das... aber mit Group-Items wohl scheinbar nicht.
liefert im Log folgenden Fehler
Code: Alles auswählen
Frame label="Licht" icon="light" {
Group item=gDG_SW mappings=[OFF="Aus!", ON="Ein"] {
Group item=gOff_SW mappings=[OFF="Aus!", ON="Ein"] {
Switch item=DG_Spot01_S
Switch item=DG_Spot02_S
Switch item=DG_Spot03_S
Switch item=DG_Spot04_S
}
Group item=gDG_A_SW mappings=[OFF="Aus!", ON="Ein"] {
Switch item=DG_Abstell_S
}
}
}
Code: Alles auswählen
2019-03-14 21:10:14.555 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'allgemein.sitemap' has errors, therefore ignoring it: [11,21]: mismatched input 'mappings=[' expecting '}'
[12,22]: mismatched input 'mappings=[' expecting '}'
- udo1toni
- Beiträge: 13856
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Dynamische icons in Sitemap
Ein Group Widget hat keine Schaltfläche! entsprechend kannst Du auch kein mapping für ein Group Widget definieren.
Ich rate immer, das Group Widget nicht zu verwenden, da man damit zwar schnell eine Sitemap zusammenbauen kann, aber keinerlei Möglichkeiten hat, irgendetwas zu beeinflussen.
Du kannst Group Items auch anderen Group Items zuordnen (aber bitte nicht zirkular...). Der gesendete Befehl sollte dann durchgereicht werden.Das Item gAlleLichter sollte alle Leuchten schalten können. Die jeweiligen Untergruppen können dann jeweils nur einen Teil der Leuchten schalten.
In der Sitemap musst Du aber immer das Switch Widget verwenden.
Die Einrückung und Anordnung der Items ist hier nur um es optisch etwas aufzubereiten, das spielt normal keine Rolle.
es gibt noch eine andere Möglichkeit, das gleiche zu erreichen:
hier sind nun die Gruppen nicht hierarchisch definiert, stattdessen sind die Items explizit jeder der Gruppen zugewiesen.
Die Abbildung in der Sitemap muss in diesem Fall natürlich komplett händisch erfolgen, aber ich habe ja bereits oben erwähnt, dass ich das Group Widget nicht mag.
Funktionieren sollte beide Ansätze.
Ich rate immer, das Group Widget nicht zu verwenden, da man damit zwar schnell eine Sitemap zusammenbauen kann, aber keinerlei Möglichkeiten hat, irgendetwas zu beeinflussen.
Du kannst Group Items auch anderen Group Items zuordnen (aber bitte nicht zirkular...). Der gesendete Befehl sollte dann durchgereicht werden.
Code: Alles auswählen
Group:Switch:OR(ON,OFF) gAlleLichter "Alle Lichter"
Group:Switch:OR(ON,OFF) gOG1Lichter "Lichter 1. Stock" (gAlleLichter)
Group:Switch:OR(ON,OFF) gOG1Zimmer1 "Zimmer 1 1. Stock" (gOG1Lichter)
Switch OG1Zimmer1Lampe1 "Lampe 1" (gOG1Zimmer1)
Switch OG1Zimmer1Lampe2 "Lampe 2" (gOG1Zimmer1)
Group:Switch:OR(ON,OFF) gOG1Zimmer2 "Zimmer 2 1. Stock" (gOG1Lichter)
Switch OG1Zimmer2Lampe1 "Lampe 1" (gOG1Zimmer2)
Switch OG1Zimmer2Lampe2 "Lampe 2" (gOG1Zimmer2)
Group:Switch:OR(ON,OFF) gEGLichter "Lichter Erdgeschoss" (gAlleLichter)
Group:Switch:OR(ON,OFF) gEGZimmer1 "Zimmer 1 Erdgeschoss" (gEGLichter)
Switch EGZimmer1Lampe1 "Lampe 1" (gEGZimmer1)
Switch EGZimmer1Lampe2 "Lampe 2" (gEGZimmer1)
Group:Switch:OR(ON,OFF) gEGZimmer2 "Zimmer 2 Erdgeschoss" (gEGLichter)
Switch EGZimmer2Lampe1 "Lampe 1" (gEGZimmer2)
Switch EGZimmer2Lampe2 "Lampe 2" (gEGZimmer2)
Group:Switch:OR(ON,OFF) gUGLichter "Lichter Untergeschoss" (gAlleLichter)
Group:Switch:OR(ON,OFF) gUGZimmer1 "Zimmer 2 Keller" (gUGLichter)
Switch UGZimmer1Lampe1 "Lampe 1" (gUGZimmer1)
Switch UGZimmer1Lampe2 "Lampe 2" (gUGZimmer1)
Group:Switch:OR(ON,OFF) gUGZimmer2 "Zimmer 2 Keller" (gUGLichter)
Switch UGZimmer2Lampe1 "Lampe 1" (gUGZimmer2)
Switch UGZimmer2Lampe2 "Lampe 2" (gUGZimmer2)
In der Sitemap musst Du aber immer das Switch Widget verwenden.
Die Einrückung und Anordnung der Items ist hier nur um es optisch etwas aufzubereiten, das spielt normal keine Rolle.
es gibt noch eine andere Möglichkeit, das gleiche zu erreichen:
Code: Alles auswählen
Group:Switch:OR(ON,OFF) gAlleLichter "Alle Lichter"
Group:Switch:OR(ON,OFF) gOG1Lichter "Lichter 1. Stock"
Group:Switch:OR(ON,OFF) gEGLichter "Lichter Erdgeschoss"
Group:Switch:OR(ON,OFF) gUGLichter "Lichter Untergeschoss"
Group:Switch:OR(ON,OFF) gOG1Zimmer1 "Zimmer 1 1. Stock"
Group:Switch:OR(ON,OFF) gOG1Zimmer2 "Zimmer 2 1. Stock"
Group:Switch:OR(ON,OFF) gEGZimmer1 "Zimmer 1 Erdgeschoss"
Group:Switch:OR(ON,OFF) gEGZimmer2 "Zimmer 2 Erdgeschoss"
Group:Switch:OR(ON,OFF) gUGZimmer1 "Zimmer 2 Keller"
Group:Switch:OR(ON,OFF) gUGZimmer2 "Zimmer 2 Keller"
Switch OG1Zimmer1Lampe1 "Lampe 1" (gAlleLichter, gOG1Lichter, gOG1Zimmer1)
Switch OG1Zimmer1Lampe2 "Lampe 2" (gAlleLichter, gOG1Lichter, gOG1Zimmer1)
Switch OG1Zimmer2Lampe1 "Lampe 1" (gAlleLichter, gOG1Lichter, gOG1Zimmer2)
Switch OG1Zimmer2Lampe2 "Lampe 2" (gAlleLichter, gOG1Lichter, gOG1Zimmer2)
Switch EGZimmer1Lampe1 "Lampe 1" (gAlleLichter, gEGLichter, gEGZimmer1)
Switch EGZimmer1Lampe2 "Lampe 2" (gAlleLichter, gEGLichter, gEGZimmer1)
Switch EGZimmer2Lampe1 "Lampe 1" (gAlleLichter, gEGLichter, gEGZimmer2)
Switch EGZimmer2Lampe2 "Lampe 2" (gAlleLichter, gEGLichter, gEGZimmer2)
Switch UGZimmer1Lampe1 "Lampe 1" (gAlleLichter, gUGLichter, gUGZimmer1)
Switch UGZimmer1Lampe2 "Lampe 2" (gAlleLichter, gUGLichter, gUGZimmer1)
Switch UGZimmer2Lampe1 "Lampe 1" (gAlleLichter, gUGLichter, gUGZimmer2)
Switch UGZimmer2Lampe2 "Lampe 2" (gAlleLichter, gUGLichter, gUGZimmer2)
Die Abbildung in der Sitemap muss in diesem Fall natürlich komplett händisch erfolgen, aber ich habe ja bereits oben erwähnt, dass ich das Group Widget nicht mag.
Funktionieren sollte beide Ansätze.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 48
- Registriert: 27. Jan 2018 08:46
Re: Dynamische icons in Sitemap
Danke für die Geduld. Ich werde dann mal am Wochenende ein wenig basteln.
Eine Frage am Rande...vielleicht weiß das jemand. Ich nutze aktuell Visual Code für die Items... ud da fiel mir auf, das einige Name weiß dargestellt werden...andere grün (siehe Anhang). Warum ist das so? Hab ich da irgendwo nen Fehler?
Eine Frage am Rande...vielleicht weiß das jemand. Ich nutze aktuell Visual Code für die Items... ud da fiel mir auf, das einige Name weiß dargestellt werden...andere grün (siehe Anhang). Warum ist das so? Hab ich da irgendwo nen Fehler?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- udo1toni
- Beiträge: 13856
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Dynamische icons in Sitemap
Nein, kein Fehler. Die Farbgebung hat damit zu tun, ob der Name ausschließlich aus kleinbuchstaben, ausschließlich aus GROSSBUCHSTABEN oder aus gEmischTer Schreibweise besteht.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet