mal wieder die Profis gefragt
- Snatsch
- Beiträge: 455
- Registriert: 9. Jan 2021 22:55
Re: mal wieder die Profis gefragt
komme irgendwie mit der Beschreibung von deinem Link Gruppen Items zu erstellen nicht zurecht. habe es versucht aber es nicht hinbekommen. deshalb läuft es noch wie oben in der Rule. Ich weiß nicht ob es einen unterschied macht ob ich die Solltemperaturen in einem Gruppenitem anlege oder nicht.
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: mal wieder die Profis gefragt
Es wird eine Gruppe "groundFloor" angelegt.
Darunter stehen zwei Items "kitchenLight" und "livingroomLight", denen wird über die Klammer dahinter die Gruppe "grondFloor" zugeordnet.
Wenn du jetzt diese Gruppe schaltest, schalten beide Items.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: mal wieder die Profis gefragt
Evtl. verstehe ich dies falsch, aber wenn ich eine Befehl an die Gruppe sende, wird dann der Befehl automatisch an jedes Mitglied der Gruppe gesendet?
Und muss die Gruppe dann nicht entsprechend konfiguriert sein??
Bei meinem Beispiel wird die Gruppe ja "nur" als Sammelobjekt genutzt und dann über die Filterfunktion der Befehle jeweils einzeln gesendet.
Da könnte man natürlich über einen Timer noch ein "delay" einbauen, war bei mir aber bisher nicht nötig.
Es geht ja nicht ums schalten, sondern eine Nummer muss an jedes Mitglied der Gruppe gesendet werden.
Und muss die Gruppe dann nicht entsprechend konfiguriert sein??
Bei meinem Beispiel wird die Gruppe ja "nur" als Sammelobjekt genutzt und dann über die Filterfunktion der Befehle jeweils einzeln gesendet.
Da könnte man natürlich über einen Timer noch ein "delay" einbauen, war bei mir aber bisher nicht nötig.
Es geht ja nicht ums schalten, sondern eine Nummer muss an jedes Mitglied der Gruppe gesendet werden.
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- Snatsch
- Beiträge: 455
- Registriert: 9. Jan 2021 22:55
Re: mal wieder die Profis gefragt
habe mir das mal angeschaut

aber da verstehe ich nur BahnhofEdit: hier ist eine noch bessere Lösung:
https://community.openhab.org/t/design- ... eper/36483

openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
- Snatsch
- Beiträge: 455
- Registriert: 9. Jan 2021 22:55
Re: mal wieder die Profis gefragt
Aber ich habe es schon mal geschafft für die ganzen Solltemperaturen eine Gruppe anzulegen 
benutzt du das selber und wenn ja könntest du mir es erklären ?

benutzt du das selber und wenn ja könntest du mir es erklären ?
wäre echt superEdit: hier ist eine noch bessere Lösung:
https://community.openhab.org/t/design- ... eper/36483

openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: mal wieder die Profis gefragt
Nein. Einfach abschreiben/kopieren und auf deine Items anpassen.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
- Snatsch
- Beiträge: 455
- Registriert: 9. Jan 2021 22:55
Re: mal wieder die Profis gefragt
Habe jetzt mal die Rule von int5749 ausprobiert aber leider hab ich folgende Fehlermeldung
und hier mein angepasster Code dazu
Code: Alles auswählen
2021-12-23 16:30:09.247 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'Alle_Heizungen_schalten-1' failed: 'members' is not a member of 'java.lang.Integer'; line 9, column 5, length 16 in Alle_Heizungen_schalten
Code: Alles auswählen
rule "Heizungsschalter für alle Heizungen"
when
Item Heizungsschalter_Alle_Heizungen received command
then
var Integer Solltemp = 6 //default
if(receivedCommand == ON) {
Solltemp = 21
}
Solltemp.members.filter(f|(f.state as DecimalType).intValue!==Solltemp.state as DecimalType).forEach[ h|
s.sendCommand(Solltemp.state as DecimalType)
logInfo("Heizung", h.name.split("_").get(1) + " Solltemperaur 21 Grad")
]
end
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: mal wieder die Profis gefragt
Wie heißt denn die Gruppe??
Du versuchst die Variable Solltemp zu filtern, dies geht natürlich nicht. Da muss der Gruppenname stehen, der sicher anders lautet?
Dies war zumindes bei meinem Vorschlag der Fall

Viele Grüße
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- Snatsch
- Beiträge: 455
- Registriert: 9. Jan 2021 22:55
Re: mal wieder die Profis gefragt
oh Sch..... mhhh dann kann es ja auch nicht funktionieren 
Vielen Dank

Vielen Dank

openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
- Snatsch
- Beiträge: 455
- Registriert: 9. Jan 2021 22:55
Re: mal wieder die Profis gefragt
da ich mit dieser Lösung überhaubt nicht zurecht komme habe ich meine alte Rule wieder genommen und habe zwischen jeden Befehl einen Timmer eingebauthabe mir das mal angeschaut
Edit: hier ist eine noch bessere Lösung:
https://community.openhab.org/t/design- ... eper/36483
aber da verstehe ich nur Bahnhof

Code: Alles auswählen
var Timer tLucaHeizung = null
var Timer tNellyHeizung = null
var Timer tSchlafzimmerHeizung = null
var Timer tBadezimmerHeizung = null
var Timer tUnteresbadetimmerHeizung = null
var Timer tPartyraumHeizung = null
var Timer tTreppenhausHeizung = null
rule "Heizungsschalter für alle Heizungen"
when
Item Heizungsschalter_Alle_Heizungen received command
then
if(receivedCommand == ON) {
tLucaHeizung = createTimer(now.plusSeconds(10), [|
HeizungLucaZimmer_Solltemperatur.sendCommand(21)
HeizungLucaZimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tNellyHeizung = createTimer(now.plusSeconds(20), [|
HeizungNellyZimmer_Solltemperatur.sendCommand(21)
HeizungNellyZimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tSchlafzimmerHeizung = createTimer(now.plusSeconds(30), [|
HeizungSchlafzimmer_Solltemperatur.sendCommand(21)
HeizungSchlafzimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tBadezimmerHeizung = createTimer(now.plusSeconds(40), [|
HeizungBadezimmer_Solltemperatur.sendCommand(21)
HeizungBadezimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tUnteresbadetimmerHeizung = createTimer(now.plusSeconds(50), [|
HeizungUnteresBadezimmer_Solltemperatur.sendCommand(21)
])
tPartyraumHeizung = createTimer(now.plusSeconds(60), [|
HeizungPartyraum_Solltemperatur.sendCommand(21)
HeizungPartyraum_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tTreppenhausHeizung = createTimer(now.plusSeconds(70), [|
HeizungTreppenhaus_Solltemperatur.sendCommand(21)
HeizungTreppenhaus_Solltemperatur_Fensterkontakt.sendCommand(21)
])
} else {
tLucaHeizung = createTimer(now.plusSeconds(10), [|
HeizungLucaZimmer_Solltemperatur.sendCommand(6)
HeizungLucaZimmer_Solltemperatur_Fensterkontakt.sendCommand(6)
])
tNellyHeizung = createTimer(now.plusSeconds(20), [|
HeizungNellyZimmer_Solltemperatur.sendCommand(6)
HeizungNellyZimmer_Solltemperatur_Fensterkontakt.sendCommand(6)
])
tSchlafzimmerHeizung = createTimer(now.plusSeconds(30), [|
HeizungSchlafzimmer_Solltemperatur.sendCommand(6)
HeizungSchlafzimmer_Solltemperatur_Fensterkontakt.sendCommand(6)
])
tBadezimmerHeizung = createTimer(now.plusSeconds(40), [|
HeizungBadezimmer_Solltemperatur.sendCommand(6)
HeizungBadezimmer_Solltemperatur_Fensterkontakt.sendCommand(6)
])
tUnteresbadetimmerHeizung = createTimer(now.plusSeconds(50), [|
HeizungUnteresBadezimmer_Solltemperatur.sendCommand(6)
])
tPartyraumHeizung = createTimer(now.plusSeconds(60), [|
HeizungPartyraum_Solltemperatur.sendCommand(6)
HeizungPartyraum_Solltemperatur_Fensterkontakt.sendCommand(6)
])
tTreppenhausHeizung = createTimer(now.plusSeconds(70), [|
HeizungTreppenhaus_Solltemperatur.sendCommand(6)
HeizungTreppenhaus_Solltemperatur_Fensterkontakt.sendCommand(6)
])
}
end

openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz