Seite 1 von 2

mal wieder die Profis gefragt

Verfasst: 21. Dez 2021 17:12
von Snatsch
Hallo,
ich habe mir bei IKEA mal einen Tradfri Button mitgenommen da meine Frau leider nicht mit meinem Openhab Tablet zurecht kommt :( Ich habe ein Item angelegt als Heizungsschalter was wenn es eingeschaltet ist alle Heizungen auf 21 Grad stellt und wenn es ausgeschaltet ist auf 6 Grad. Nun wollte ich es ihr leichter machen mit dem Button. Doch irgendwie funktioniert das nur bedingt mit der Rule so wie ich sie habe. Das heißt wenn ich den Button drücke wird der Heizungsschalter kurz eingeschaltet aber manchmal auch sofort wieder ausgeschaltet. Bin für Verbesserungsvorschläge offen :)

Code: Alles auswählen

rule "Heizungsschalter Ikea"
when Channel "deconz:switch:00212E069043:b4e3f9fffe15bb3d011000:buttonevent" triggered 1002
then

    if(Heizungsschalter_Alle_Heizungen.state == OFF){
        Heizungsschalter_Alle_Heizungen.sendCommand (ON)
        Meldung.postUpdate ("Es sind jetzt alle Heizungen auf 21 Grad gestellt")
    }
 
    if(Heizungsschalter_Alle_Heizungen.state == ON){
        Heizungsschalter_Alle_Heizungen.sendCommand (OFF) 
        Meldung.postUpdate("Es sind jetzt alle Heizungen ausgeschaltet")
    }

end 

Re: mal wieder die Profis gefragt

Verfasst: 21. Dez 2021 19:54
von oh73
vielleicht guckst du mal hier viewtopic.php?p=36454&hilit=ikea+fernbedienung#p36454,

@udo1toni hat mir da mal geholfen den Ikea Taster richtig ab zu fragen!

hab für jede Taste ein Item angelegt, welches bei Tastendruck geschaltet wird.

das sollte dann doch in die Heizungssteuerung ein zu bauen sein!

Re: mal wieder die Profis gefragt

Verfasst: 21. Dez 2021 21:30
von Snatsch
habe jetzt einfach mal die 1002 hinter triggered rausgenommen. Ich habe aber noch ein Problem mit dem Switsch Item das ich angelegt habe. :shock:
und zwar wenn ich das Item auf ON stelle konnte ich schon öfters beobachten das nicht alle Heizungen die in der Rule aufgeführt sind auf 21 Grad gehen oder bei OFF auf 6 Grad. Das ist die Rule

Code: Alles auswählen

rule "Heizungsschalter für alle Heizungen"
when
    Item  Heizungsschalter_Alle_Heizungen received command 
then
    if(receivedCommand == ON) {
        HeizungLucaZimmer_Solltemperatur.sendCommand(21)
        HeizungNellyZimmer_Solltemperatur.sendCommand(21)
        HeizungSchlafzimmer_Solltemperatur.sendCommand(21)
        HeizungBadezimmer_Solltemperatur.sendCommand(21)
        HeizungUnteresBadezimmer_Solltemperatur.sendCommand(21)
        HeizungPartyraum_Solltemperatur.sendCommand(21)
        HeizungTreppenhaus_Solltemperatur.sendCommand(21)
	} else {
        HeizungLucaZimmer_Solltemperatur.sendCommand(6)
        HeizungNellyZimmer_Solltemperatur.sendCommand(6)
        HeizungSchlafzimmer_Solltemperatur.sendCommand(6)
        HeizungBadezimmer_Solltemperatur.sendCommand(6)
        HeizungUnteresBadezimmer_Solltemperatur.sendCommand(6)
        HeizungPartyraum_Solltemperatur.sendCommand(6)
        HeizungTreppenhaus_Solltemperatur.sendCommand(6)
    }
end
gibt es eventuell noch eine Möglichkeit etwas später zu prüfen ob alle Heizungen den jeweiligen Befehl erhalten haben und ihn vor allen auch ausgeführt haben ?

Re: mal wieder die Profis gefragt

Verfasst: 21. Dez 2021 21:57
von int5749
Eine erste Möglichkeit wäre es, dies über ein Logging zu prüfen. Gleichzeitig habe ich mal versucht die Rule mit dem hier gewonnenen Wissen etwas zu optiimieren.

Zunächst die Items in einer Gruppe "bündeln"

Code: Alles auswählen

HeizungLucaZimmer_Solltemperatur        (AlleHeizungenSoll)
HeizungNellyZimmer_Solltemperatur       (AlleHeizungenSoll)
HeizungSchlafzimmer_Solltemperatur      (AlleHeizungenSoll)
HeizungBadezimmer_Solltemperatur        (AlleHeizungenSoll)
HeizungUnteresBadezimmer_Solltemperatur (AlleHeizungenSoll)
HeizungPartyraum_Solltemperatur         (AlleHeizungenSoll)
HeizungTreppenhaus_Solltemperatur       (AlleHeizungenSoll)

Code: Alles auswählen

rule "Heizungsschalter für alle Heizungen"
when
    Item  Heizungsschalter_Alle_Heizungen received command 
then
    var Integer AlleSollTemperatur = 6  //default
    if(receivedCommand == ON) {
        AlleSollTemperatur = 21
    }
    AlleHeizungenSoll.members.filter(f|(f.state as DecimalType).intValue!==AlleSollTemperatur.state as DecimalType).forEach[ h|
		s.sendCommand(AlleSollTemperatur.state as DecimalType)
		logInfo("Heizung", h.name.split("_").get(1) + " Solltemperaur 21 Grad")
	]
end
Ungetestet und ohne Gewähr :mrgreen:

Re: mal wieder die Profis gefragt

Verfasst: 21. Dez 2021 23:17
von Snatsch
Kannst du mir noch erklären wie ich die Gruppen Items anlege oder eventuell einen link posten wo es erklärt wird.

Re: mal wieder die Profis gefragt

Verfasst: 22. Dez 2021 07:49
von sihui
Snatsch hat geschrieben: 21. Dez 2021 23:17 ... oder eventuell einen link posten wo es erklärt wird.
https://www.openhab.org/docs/concepts/i ... roup-items

Re: mal wieder die Profis gefragt

Verfasst: 22. Dez 2021 18:59
von Snatsch
vielen Dank. Habe jetzt mal ein wenig rumprobiert und festgestellt das die Befehle ordnungsgemäß von openhab ausgeführt werden. Nur kommen manche nicht bei der Innogy Zentralle an. Wenn ich z.B. die Heizungen alle mittels Schalter auf 21 Grad stelle wird mir das in Openhab zwar angezeigt aber bei Inoggy bleibt das Kommando manchmal hängen und sie bleiben auf 6 Grad.(einzelne auch nicht immer die gleichen).Somit sendet die Zentralle dann die verkehrte Gradzahl an Openhab und die Gradzahl wird wieder geändert. Denke ich werde doch bald auf ein neues System wie z.B Bosch oder so umsteigen müssen.

Re: mal wieder die Profis gefragt

Verfasst: 22. Dez 2021 19:17
von sihui
Snatsch hat geschrieben: 22. Dez 2021 18:59 aber bei Inoggy bleibt das Kommando manchmal hängen und sie bleiben auf 6 Grad.(einzelne auch nicht immer die gleichen).
Wenn du alle Thermostate über eine Gruppe steuerst ist das ein beliebtes Problem, auch bei anderen Techniken.
Du solltest einmal testen, die Thermostate einzeln auf die unterschiedlichen Gradzahlen zu schalten.

Wenn es mit den Pausen funktioniert, baue eine kleine Verzögerung in deine Gruppen Regel ein:
https://community.openhab.org/t/solved- ... /4?u=sihui

Edit: hier ist eine noch bessere Lösung:
https://community.openhab.org/t/design- ... eper/36483

Re: mal wieder die Profis gefragt

Verfasst: 22. Dez 2021 19:21
von Snatsch
bis jetzt habe ich sie ja noch nicht in einer Gruppe gesteuert. wenn ich sie einzeln in meinem Model schalte geht es.

Re: mal wieder die Profis gefragt

Verfasst: 22. Dez 2021 19:23
von sihui
Dann verstehe ich deine Ausführungen aus deinem letzten Post nicht ...