Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

denni
Beiträge: 16
Registriert: 4. Sep 2019 15:25

Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von denni »

Hallo zusammen,

ich habe eine Wandthermostat HMIP-WTH-2 (Firmware 2.6.0) mit OH 2.5 und einer CCU3 im Einsatz. Aktuell scheitere ich noch an der Urlaubs/Party-Funktion im BasicUI zu integrieren. Im Internet und hier im Forum konnte ich nach der Suche zu meinem Thema keine Informationen finden. Deshalb bräuchte ich ein paar Tipps von euch wie eine Integration der Urlaubs/Party-Funktion im BasicUI für mein Homematic IP Wandthermostat möglich wäre.

Im HomematicIP CCU3 sieht die Funktion wie folgt aus:
Party-Urlaubsmodus.JPG
In Openhab 2.5 - Paper UI unter CONTROL:
PaperUI-Control.JPG
Ich hatte in anderen Threads gelesen, dass bei Homematic "Classic" einige die Urlaubsfunktion so in die Sitemap integriert haben:

Code: Alles auswählen

Switch item=WHmIPZimmerThermostat_ControlMode label="Modus"  icon=heating mappings=[0=Auto, 1=Manu, 3=Urlaub]
-->Diese Methode funktionert aber bei meinem Homematic IP Wandthermostat nicht. Er schaltet (obwohl der Urlaubbutton als gedrückt erscheint) den Wandthermostat nicht auf Urlaubsmodus um.

Wenn ich über das PaperUI Control die Party Time End bzw. Party Time Start umstelle kann ich es erreichen, dass mein Wandthermostat auf Urlaubsmodus geht. Allerdings weis ich nicht wie man diese Datumseinstellung über die Sitemap für das BasicUI darstellt.

Hat jemand eine Idee wie sich die Urlaubsfunktion möglichst geschickt intergrieren lässt? ggf. Reicht es mir auch aus, wenn ich nur den Urlaubsmodus auf unbestimmte Zeit aktivieren könnte.

Optional: Wie kann man die Party Time End bzw. Party Time Start über die Sitemap abbilden, so dass eine Eingabe eines Datum möglich wird?

Ich bin für jeden Rat/Idee offen.

Danke euch und Gruß
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

violine21
Beiträge: 189
Registriert: 20. Sep 2019 05:49

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von violine21 »

Hier mal der Auszug aus der Beschreibung der Homematic-IP Devices:
WTH2.gif
Der Button hat nur lesenden Charakter, dient also nur der Rückmeldung.
Zur Aktivierung musst Du als Start das aktuelle Datum/Uhrzeit senden und als Ende ein x-beliebiges Datum/Uhrzeit in der Zukunft.
Das ganze dann in einer Rule gekoppelt an einen Button.
Ob es die Möglichkeit gibt, in der Sitemap einen Text ein zu geben, der ja auch noch auf seine korrekte Syntax geprüft werden muss, weiss ich nicht.
Du könntest höchstens über einzelne Hoch-Runter-Felder in der Sitemap ein Datum zusammen stellen und den Inhalt dann an die CCU per Button senden.
Hier mal ein Zitat von Udo aus einem kürzlich behandeltem Beispiel:
openHAB sieht keine Möglichkeit vor, Datum oder Zeitwerte direkt in die UI einzugeben. Um dies zu umgehen, ist es üblich, für jede Stelle ein eigenes Item anzulegen, welches man dann mit setpoint in Schritten verstellen kann.
Grob braucht es eine Rule, welche bei Änderung des DateTime Items daraus die einzelnen Felder extrahiert und in die verschiedenen einzelnen Items ablegt. In einer weiteren Rule wird auf die Eingaben in der UI reagiert und das DateTime Item entsprechend angepasst und an die Logo! gesendet.

Im englischen Forum gibt s einen hervorragenden Artikel zu dem Thema DateTime Conversion: https://community.openhab.org/t/datetim ... sion/54266
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

denni
Beiträge: 16
Registriert: 4. Sep 2019 15:25

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von denni »

Hallo violine21,

danke für deine Antwort. In der Zwischenzeit konnte ich mit deinem Input sehr gut etwas anfangen.

//EDIT:
Ich werde ein Item mit drei fest eingestellten Zeitfenstern verwenden ( 2 Stunden, 2 Tage, 2 Wochen).
Diese Information verarbeitet in einer Rule und kann dies dann an den HMIP-WTH-2 senden.

Sobald ich den Code geschrieben habe werde ich nochmal hier schreiben.

denni
Beiträge: 16
Registriert: 4. Sep 2019 15:25

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von denni »

Hallo zusammen,
anbei mein Entwurf der Rule. Leider geht der WTH-2 mit SendCommand oder postUpdate nicht in den Urlaubszustand. Es wird zwar der Wert in die Variable geschrieben. der WTH-2 springt aber nicht in den Urlaubsmodus (Koffersymbol wird nicht angezeigt).

Code: Alles auswählen

rule "Verarbeitung Urlaubszeit für Heizungs-Shutdown"
when
    Item VACATIONMerker received update
then
    if (VACATIONMerker.state == 0) {
    logInfo("Debug", "State has been set OFF")
    }
    
    if (VACATIONMerker.state == 1) {
    logInfo("Debug", "Urlaub für 2h")
    //Zieluhrzeit ermitteln:
    var int hour = now.getHourOfDay()
    val String actuelDayTime1 = now.toString("yyyy_MM_dd' 'HH:mm")
    logInfo("Debug", "Aktueller Tag und Uhrzeit (mit Minuten) : " + actuelDayTime1)
    val actuelDayTime_modifiedEnd = actuelDayTime1.replace(" " + hour.toString() ," " + (hour + 2).toString())
    logInfo("Debug", "Ermittelte Endzeit bei 2h Urlaub: " + actuelDayTime_modifiedEnd)
 
    //Test ob Urlaubsmodus mit Übergabe Werte funktioniert:
    sendCommand(SHmIPZimmerThermostat_PartyTimeStart, "2020_03_25 16:00")
    sendCommand(SHmIPZimmerThermostat_PartyTimeEnd, "2020_03_25 18:00")
    
    //Auch mit postUpdate geht es nicht
    //SHmIPZimmerThermostat_PartyTimeStart.postUpdate("2020_03_25 16:00")
    //SHmIPZimmerThermostat_PartyTimeEnd.postUpdate("2020_03_25 18:00")     
    }

    if (VACATIONMerker.state == 2) {
    logInfo("Debug", "Urlaub für 2T")
    }

    if (VACATIONMerker.state == 3) {
    logInfo("Debug", "Urlaub für 2W")
    }
end
In der CCU3 sieht man auch, dass der Zustand nicht vollständig angenommen wurde:
CCU3 Screenshot - Urlaubsmodus nur halb aktiv.JPG
Wenn ich die Werte aber manuell über das Control-Panel übergebe, funktioniert das Vorgehen und der WTH-2 nimmt den Urlaubsmodus an.
Worin könnte der Fehler bei der Übergabe der Werte liegen? Muss ich den Übergabestring noch speziell Formatieren, was das Control-Panel für mich indirekt bei manueller Eingabe macht?
ControlPanel.JPG
Sofern ich die Befehltsübergabe in der Rule gelöst bekomme, kann ich dann die anderen IF vervollständigen. Denke dass ich dann nicht mehr weit vom Ziel weg bin.

Danke euch Gruß Denni
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

violine21
Beiträge: 189
Registriert: 20. Sep 2019 05:49

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von violine21 »

Hallo,

in dem o.a. Code ist ein kleiner Fehler:

Code: Alles auswählen

//Test ob Urlaubsmodus mit Übergabe Werte funktioniert:
    sendCommand(SHmIPZimmerThermostat_PartyTimeStart, "2020_03_25 16:00")
    sendCommand(SHmIPZimmerThermostat_PartyTimeEnd, "2020_03_25 18:00")
Das müsste so heissen:

Code: Alles auswählen

//Test ob Urlaubsmodus mit Übergabe Werte funktioniert:
    SHmIPZimmerThermostat_PartyTimeStart.sendCommand("2020_03_25 16:00")
    SHmIPZimmerThermostat_PartyTimeEnd.sendCommand("2020_03_25 18:00")
Probier mal, was dann passiert.

Benutzeravatar
udo1toni
Beiträge: 2949
Registriert: 11. Apr 2018 18:05
Answers: 16
Wohnort: Darmstadt

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von udo1toni »

Was für einen Itemtyp verwendest Du denn? Ich würde hier DateTime erwarten, dort muss das Datum aber anders übergeben werden.

violine21
Beiträge: 189
Registriert: 20. Sep 2019 05:49

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von violine21 »

udo1toni hat geschrieben:
25. Mär 2020 20:31
Was für einen Itemtyp verwendest Du denn? Ich würde hier DateTime erwarten, dort muss das Datum aber anders übergeben werden.
Laut Homematic-Beschreibung sollte es ein STRING sein (Auszug hatte ich oben schon gepostet)

denni
Beiträge: 16
Registriert: 4. Sep 2019 15:25

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von denni »

violine21 hat geschrieben:
25. Mär 2020 19:34
Das müsste so heissen:

Code: Alles auswählen

//Test ob Urlaubsmodus mit Übergabe Werte funktioniert:
    SHmIPZimmerThermostat_PartyTimeStart.sendCommand("2020_03_25 16:00")
    SHmIPZimmerThermostat_PartyTimeEnd.sendCommand("2020_03_25 18:00")
Ich habe es ausprobiert. Gleicher Fehler wie oben beschrieben. Das Item ist ein String.

denni
Beiträge: 16
Registriert: 4. Sep 2019 15:25

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von denni »

Wenn man den WTH-2 (mit Firmware 2.6.0) genauer beobachtet, geht er direkt nach diesem Kommando für eine halbe Sekunde in den Koffermodus. Springt aber dann sofort wieder zurück in "Manu".

Nach der Übergabe von...
SHmIPZimmerThermostat_PartyTimeEnd.sendCommand("2020_03_26 10:00")
....stellt zuerst auf "2020_03_26 10:00" und ändert er selbst auf einen Wert von "1999_11_30 00:00" um. Warum weis ich nicht.

Ich werde seinen normalen Einstellprozess nochmal genauer beobachten. Also wenn ich den Urlaubsmodus über die CCU3 einstelle.

violine21
Beiträge: 189
Registriert: 20. Sep 2019 05:49

Re: Urlaubsmodus für HMIP-WTH-2 in OH 2.5 Sitemap integrieren

Beitrag von violine21 »

Ich habe mal einen meiner WTH-2 in OH eingebunden. Thing per PaperUI angelegt und dann mit VSC die Items generieren lassen.
Das bietet der WTH-2 mir an:

Code: Alles auswählen

Number               EGWohnzimmerWandthermostat0RSSI                             "Rssi"                               {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#RSSI"}
Switch               EGWohnzimmerWandthermostat0UNREACH                          "Unreach"                            {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#UNREACH"}
String               EGWohnzimmerWandthermostat0FIRMWARE                         "Firmware"                           {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#FIRMWARE"}
String               EGWohnzimmerWandthermostat0DELETEDEVICEMODE                 "Delete device mode"                 {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#DELETE_DEVICE_MODE"}
Switch               EGWohnzimmerWandthermostat0UPDATEPENDING                    "Update pending"                     {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#UPDATE_PENDING"}
Switch               EGWohnzimmerWandthermostat0CONFIGPENDING                    "Config pending"                     {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#CONFIG_PENDING"}
Switch               EGWohnzimmerWandthermostat0DUTYCYCLE                        "Duty cycle"                         {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#DUTY_CYCLE"}
Number               EGWohnzimmerWandthermostat0OPERATINGVOLTAGE                 "Operating voltage"                  {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#OPERATING_VOLTAGE"}
Switch               EGWohnzimmerWandthermostat0INSTALLTEST                      "Install test"                       {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#INSTALL_TEST"}
Number               EGWohnzimmerWandthermostat0SIGNALSTRENGTH                   "Signalstärke"                       {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#SIGNAL_STRENGTH"}
Switch               EGWohnzimmerWandthermostat0LOWBAT                           "Niedriger batteriestatus"           {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#LOW_BAT"}
String               EGWohnzimmerWandthermostat0OPERATINGVOLTAGESTATUS           "Operating voltage status"           {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#OPERATING_VOLTAGE_STATUS"}
Number               EGWohnzimmerWandthermostat0RSSIPEER                         "Rssi peer"                          {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#RSSI_PEER"}
Number               EGWohnzimmerWandthermostat0RSSIDEVICE                       "Rssi device"                        {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#RSSI_DEVICE"}
Switch               EGWohnzimmerWandthermostat0DELETEDEVICE                     "Delete device"                      {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:0#DELETE_DEVICE"}
String               EGWohnzimmerWandthermostat1DURATIONUNIT                     "Duration unit"                      {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#DURATION_UNIT"}
Number               EGWohnzimmerWandthermostat1SETPOINTMODE                     "Set point mode"                     {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#SET_POINT_MODE"}
Number:Temperature   EGWohnzimmerWandthermostat1SETPOINTTEMPERATURE              "Set point temperature"              {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#SET_POINT_TEMPERATURE"}
Number               EGWohnzimmerWandthermostat1BOOSTTIME                        "Boost time"                         {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#BOOST_TIME"}
Number               EGWohnzimmerWandthermostat1HUMIDITY                         "Humidity"                           {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#HUMIDITY"}
Number:Temperature   EGWohnzimmerWandthermostat1PARTYSETPOINTTEMPERATURE         "Party set point temperature"        {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#PARTY_SET_POINT_TEMPERATURE"}
Number:Temperature   EGWohnzimmerWandthermostat1CONTROLDIFFERENTIALTEMPERATURE   "Control differential temperature"   {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#CONTROL_DIFFERENTIAL_TEMPERATURE"}
String               EGWohnzimmerWandthermostat1ACTUALTEMPERATURESTATUS          "Actual temperature status"          {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#ACTUAL_TEMPERATURE_STATUS"}
Number               EGWohnzimmerWandthermostat1CONTROLMODE                      "Control mode"                       {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#CONTROL_MODE"}
String               EGWohnzimmerWandthermostat1PARTYTIMEEND                     "Party time end"                     {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#PARTY_TIME_END"}
String               EGWohnzimmerWandthermostat1HEATINGCOOLING                   "Heating cooling"                    {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#HEATING_COOLING"}
Switch               EGWohnzimmerWandthermostat1FROSTPROTECTION                  "Frost protection"                   {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#FROST_PROTECTION"}
Number               EGWohnzimmerWandthermostat1DURATIONVALUE                    "Duration value"                     {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#DURATION_VALUE"}
Switch               EGWohnzimmerWandthermostat1SWITCHPOINTOCCURED               "Switch point occured"               {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#SWITCH_POINT_OCCURED"}
Switch               EGWohnzimmerWandthermostat1BOOSTMODE                        "Boost mode"                         {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#BOOST_MODE"}
Number               EGWohnzimmerWandthermostat1QUICKVETOTIME                    "Quick veto time"                    {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#QUICK_VETO_TIME"}
String               EGWohnzimmerWandthermostat1HUMIDITYSTATUS                   "Humidity status"                    {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#HUMIDITY_STATUS"}
String               EGWohnzimmerWandthermostat1PARTYTIMESTART                   "Party time start"                   {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#PARTY_TIME_START"}
Switch               EGWohnzimmerWandthermostat1PARTYMODE                        "Party mode"                         {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#PARTY_MODE"}
Number               EGWohnzimmerWandthermostat1ACTIVEPROFILE                    "Active profile"                     {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#ACTIVE_PROFILE"}
String               EGWohnzimmerWandthermostat1WINDOWSTATE                      "Window state"                       {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#WINDOW_STATE"}
Number:Temperature   EGWohnzimmerWandthermostat1ACTUALTEMPERATURE                "Actual temperature"                 {channel="homematic:HmIP-WTH-2:3014F711A0001F98A9AA0B0E:000A98A9A74163:1#ACTUAL_TEMPERATURE"}
Wobei nur diese Items in Frage kommen:

Code: Alles auswählen

Number:Temperature   EGWohnzimmerWandthermostat1PARTYSETPOINTTEMPERATURE         "Party set point temperature"
String               EGWohnzimmerWandthermostat1PARTYTIMEEND                     "Party time end"
String               EGWohnzimmerWandthermostat1PARTYTIMESTART                   "Party time start"
Switch               EGWohnzimmerWandthermostat1PARTYMODE                        "Party mode"
Das
"1999_11_30 00:00"
sieht aus wie Werkseinstellung. Das ist für ihn der Beginn seiner Zeitrechnung.
Kann es sein, das Du Start- und Endzeit, sowie die Temperatur gleichzeitig (3 send.Commands) hintereinander absetzen musst?

Antworten