Ankündigung

Einklappen
Keine Ankündigung bisher.

Temperatureinstellung bei Homematic-Thermostaten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Temperatureinstellung bei Homematic-Thermostaten

    Hallo Leute,

    ich habe nach dem Update von Openhab von 2.3 auf 2.4 folgendes Problem:
    Ich habe die eingestellten Temperaturen immer per Setpoint-Item oder per Rule eingestellt.
    Nach dem Update bekomme ich folgende Fehlermeldung im Log und die Temperatur wird nicht verstellt:

    2018-12-23 13:18:21.728 [WARN ] [ematic.handler.HomematicThingHandler] - Can't convert type QuantityType with value '15.50 °C' to FLOAT value with DecimalTypeConverter for 'MEQ1514295:4#SET_TEMPERATURE', please check the item type and the commands in your scripts

    Ist da in der Syntax was geändert worden?
    Muss ich die Rule dafür noch anpassen?
    Wieso "versteht" Homematic die Werte der Temperatur nicht?
    Es wurde nichts verändert, alles so wie es war. So hat es über 2 Jahre funktioniert.
    Nach dem Update die Warnung im Log und es geht nichts....

    hier das Item:

    Number Temp_Gaeste_WC_set "Eingest. Temperatur [%.1f °C]"

    Sitemap:

    Setpoint item=Temp_WC_set label="Temperatur Soll [%.1f°C]" minValue=8 maxValue=28 step=0.5

    hier die Rule:


    Code:
    //###########################################################################
    //#      Rule zur Steuerung der Temperatur im WC  #
    //#     - Zeitregelung   #
    //#     - nach Zustand des Fensters #
    //###########################################################################
    
    var fTemp_WC_low = 12.0
    var fTemp_WC_high = 16.0
    var fTemp_WC_save = 6.0
    
    rule "Autoset WC Morgen"
    when
    Time cron "0 0 8 ? * * *" //täglich 8 Uhr
    then
        logInfo("Temp_WC.rules", "Autoset Morgen Auto = {}, Fenster = {}",Temp_Auto.state,Fensterkontakt_WC.state)
    if (Temp_Auto.state==ON)
    {
    logInfo("Temp_WC.rules", "Autoset Morgen Auto = {}, Fenster = {}",Temp_Auto.state,Fensterkontakt_WC.state)
    Temp_WC_temp.postUpdate(fTemp_WC_high) //gespeicherte Temperatur überschreiben
    if (Fensterkontakt_WC.state == CLOSED) //Fenster geschlossen ->
    {
        logInfo("Temp_WC.rules", "Autoset Morgen Auto = {}, Fenster = {}",Temp_Auto.state,Fensterkontakt_WC.state)
    Temp_WC_set.sendCommand(Temp_WC_temp.state as Number) //Solltemperatur setzen
            logInfo("Temp_WC.rules", "Temperatur Autoset Morgen WC gesetzt")    
        }
    }
    end
    
    rule "Autoset WC Abend"
    when
    Time cron "0 0 21 ? * * *" //täglich 21 Uhr
    then
        logInfo("Temp_WC.rules", "Autoset Morgen Auto = {}, Fenster = {}",Temp_Auto.state,Fensterkontakt_WC.state)
    if (Temp_Auto.state==ON)
    {
            logInfo("Temp_WC.rules", "Autoset Morgen Auto = {}, Fenster = {}",Temp_Auto.state,Fensterkontakt_WC.state)
    Temp_WC_temp.postUpdate(fTemp_WC_low) //gespeicherte Temperatur überschreiben
    if (Fensterkontakt_WC.state == CLOSED) //Fenster geschlossen ->
    {
        logInfo("Temp_WC.rules", "Autoset Morgen Auto = {}, Fenster = {}",Temp_Auto.state,Fensterkontakt_WC.state)
    Temp_WC_set.sendCommand(Temp_WC_temp.state as Number)//Solltemperatur setzen
            logInfo("Temp_WC.rules", "Temperatur Autoset Abend WC gesetzt")
        }
    }
    end
    
    
    rule "Fensterkontakt WC"
    when
    Item Fensterkontakt_WC changed //Fenster geöffnet oder geschlossen
    then
    if (Fensterkontakt_WC.state == OPEN && (Temp_WC_set.state as Number) != fTemp_WC_save) //Fenster wurde geöffnet, Temperatur noch nicht geändert
    {
    logInfo("Temp_WC.rules", "Temperatur WC wegen Fenster offen geändert")
    Temp_WC_temp.postUpdate(Temp_WC_set.state as Number)
    Temp_WC_set.sendCommand(fTemp_WC_save)
    }
    else if (Fensterkontakt_WC.state == CLOSED) //Fenster wurde geschlossen
     {
    logInfo("Temp_WC.rules", "Temperatur WC wegen Fenster geschlossen geändert")
    Temp_WC_set.sendCommand(Temp_WC_temp.state as Number)
            }
    end
    Brauche da mal einen Tip.

    Gruß
    Yankee

    #2
    Ja, wenn es sich um ein Item mit UoM handelt, musst Du den Wert als QuantityType verwenden. Aus
    Code:
    Temp_WC_set.sendCommand(Temp_WC_temp.state as Number)
    müsste
    Code:
    Temp_WC_set.sendCommand((Temp_WC_temp.state as QuantityTpe<Number>).floatValue)
    werden.
    Die Units of Measurement machen das Leben leider viel komplizierter...

    Kommentar


      #3
      Hallo zusammen,

      ich habe die rule wie oben beschrieben abgeändert.

      Trotzdem bekomme ich noch die Fehlermeldung wie im ersten Post.

      hier meine geänderte Rule

      Code:
      rule "Fensterkontakt WC"
      when
      Item Fensterkontakt_WC changed //Fenster geöffnet oder geschlossen
      then
      if (Fensterkontakt_WC.state == OPEN && (Temp_WC_set.state as Number) != fTemp_WC_save) //Fenster wurde geöffnet, Temperatur noch nicht geändert
      {
      logInfo("Temp_WC.rules", "Temperatur WC wegen Fenster offen geändert")
      Temp_WC_temp.postUpdate(Temp_WC_set.state as Number)
      Temp_WC_set.sendCommand(fTemp_WC_save)
      }
      else if (Fensterkontakt_WC.state == CLOSED) //Fenster wurde geschlossen
       {
      logInfo("Temp_WC.rules", "Temperatur WC wegen Fenster geschlossen geändert")
      
      Temp_WC_set.sendCommand((Temp_WC_temp.state as QuantityTpe<Number>).floatValue)
              }
      end
      Habe ich da was vergesse oder falsch gemacht?


      Und wie ist das mit der direkten Verstellung über das Setpoint item in der sitemap?
      Wie kann ich dem denn noch beibiegen, das ein anderer typ gesendet werden muss? Nur über eine rule?
      Ich kann dem item beim Verknüpfen seit 2.4 ein Profil zuweisen. Hat das was damit zu tun?


      Gruß
      Yankee

      Kommentar


        #4
        Hallo Yankee,
        ich hatte dasselbe Problem; habe den Termostaten (also das Thing) gelöscht, reboot, dann wieder hinzugefügt, fertig.

        https://community.openhab.org/t/solv...-problem/57432

        Gruß, Marcus

        Kommentar


          #5
          Hallo zusammen,

          habe das auch heute in einem anderen Forum gelesen

          ausprobiert und funktioniert. Sogar die Verknüpfungen sind geblieben.

          Danke nochmals für die Tips.

          Gruß Yankee

          Kommentar

          Lädt...
          X