mal wieder die Profis gefragt

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
Snatsch
Beiträge: 455
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: mal wieder die Profis gefragt

Beitrag von Snatsch »

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

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: mal wieder die Profis gefragt

Beitrag von sihui »

Snatsch hat geschrieben: 22. Dez 2021 19:35 komme irgendwie mit der Beschreibung von deinem Link Gruppen Items zu erstellen nicht zurecht.
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.

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: mal wieder die Profis gefragt

Beitrag von int5749 »

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.
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
Snatsch
Beiträge: 455
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: mal wieder die Profis gefragt

Beitrag von Snatsch »

habe 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 :?:
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

Benutzeravatar
Snatsch
Beiträge: 455
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: mal wieder die Profis gefragt

Beitrag von Snatsch »

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 ?
Edit: hier ist eine noch bessere Lösung:
https://community.openhab.org/t/design- ... eper/36483
wäre echt super :)
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

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: mal wieder die Profis gefragt

Beitrag von sihui »

Snatsch hat geschrieben: 22. Dez 2021 22:37 benutzt du das selber
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.

Benutzeravatar
Snatsch
Beiträge: 455
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: mal wieder die Profis gefragt

Beitrag von Snatsch »

Habe jetzt mal die Rule von int5749 ausprobiert aber leider hab ich folgende Fehlermeldung

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
und hier mein angepasster Code dazu

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

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: mal wieder die Profis gefragt

Beitrag von int5749 »

Snatsch hat geschrieben: 23. Dez 2021 16:39 und hier mein angepasster Code dazu
Wie heißt denn die Gruppe??
Snatsch hat geschrieben: 23. Dez 2021 16:39 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|
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 8-)

Viele Grüße
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
Snatsch
Beiträge: 455
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: mal wieder die Profis gefragt

Beitrag von Snatsch »

oh Sch..... mhhh dann kann es ja auch nicht funktionieren :)
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

Benutzeravatar
Snatsch
Beiträge: 455
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: mal wieder die Profis gefragt

Beitrag von Snatsch »

habe 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 :?:
da ich mit dieser Lösung überhaubt nicht zurecht komme habe ich meine alte Rule wieder genommen und habe zwischen jeden Befehl einen Timmer eingebaut ;) Ich hatte es erst mit einen kürzeren versucht aber da kamen die Befehle auch nicht alle an.

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
ich weiß nicht ob das irgendwelche Nachteile hat es so zu machen, aber jedenfalls machen jetzt so alle Heizungen das was sie sollen :)
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

Antworten