Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage Schaltaktion in Abhängigkeit der Uhrzeit + Temperatur

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

    Frage Schaltaktion in Abhängigkeit der Uhrzeit + Temperatur

    Hallo,
    ich möchte Schaltaktionen in Abhängigkeit von der Temperatur und Uhrzeit durchführen. Ich scheitere daran das ich keinen Vergleich bei Number Items durchführen kann.
    default.items
    Code:
    /* Heating */
    Switch Heating_GF_Living     "Livingroom"     <heating>    (GF_Living, Heating)
    
    /* Indoor Temperatures */
    Number Temperature_Ist_GF_Living        "Wohnzimmer [%.1f °C]"    <temperature> (Temperature, Temp_Chart_Living, GF_Living)
    Number Temperature_Soll_GF_Living        "Wohnzimmer soll [%.1f °C]" <temperature> (Temperature, Temp_Chart_Living, GF_Living)
    default.rules
    Code:
    [B]rule "Setze Solltemperatur"
    when
        Time cron "0 5-16 * * 1-5 ?"
        then 
            postUpdate(Temperature_Soll_GF_Living, 22.0)
    end         
    [/B]
    [B]rule "Heizung einschalten"
    when
        Item Temperature_Ist_GF_Living received update 
            then  
            if (Temperature_Soll_GF_Living <-  Temperature_Ist_GF_Living)
            sendCommand(Heating_GF_Living, ON)
            else
             sendCommand(Heating_GF_Living, OFF)   
    end[/B]
    Die Temperaturen werden im Moment auf dem Testserver noch per rule aus dem Demo scripten aktualisiert.

    Übrigens der Produktivserver läuft auf einen alix2d13 mit debian wheezy, falls Interesse besteht kann ich eine kurze Installationsanleitung mailen.

    Gruß Ansgar

    #2
    <-
    Sollte das nicht ein <= sein?

    Kommentar


      #3
      ja, hier im Forum vertippt, aber trotzdem:

      der Opehab Designer meldet: Couldn't resolve reference to JvmIdentifiableElement '<='.

      Kommentar


        #4
        Hi Ansgar,

        Zitat von abodenbe Beitrag anzeigen
        Ich scheitere daran das ich keinen Vergleich bei Number Items durchführen kann
        Das liegt daran, dass auf Items nur der Operator "==" bzw. "equals" definiert ist. Was Du vermutlich eigentlich willst, ist den Status der genannten Items miteinander zu vergleichen, also ItemA.state <= ItemB.state. Aus irgendeinem Grund, wird das aber ebenfalls von Designer nicht akzeptiert (vielleicht ein Bug?). Das kannst Du mit folgender Regel aber umschiffen:

        Code:
        rule "Heizung einschalten"
        when
            Item Temperature_Ist_GF_Living received update 
        then 
        	var soll = Temperature_Soll_GF_Living.state as DecimalType
        	var ist = Temperature_Ist_GF_Living.state as DecimalType
        	
            if (soll <= ist) {
            	Heating_GF_Living.sendCommand(ON)
          	} else {
            	Heating_GF_Living.sendCommand(OFF)
        	}
        end
        Zitat von abodenbe Beitrag anzeigen
        Übrigens der Produktivserver läuft auf einen alix2d13 mit debian wheezy, falls Interesse besteht kann ich eine kurze Installationsanleitung mailen.
        ja, es besteht GROSSES Interesse! Besonders cool wäre, wenn Du die Anleitung direkt auf Englisch schreiben könntest. Wenn nicht, auch nicht schlimm, dann muss man sie halt irgendwann mal übersetzen.

        Vielen Dank und Gruß,

        Thomas E.-E.
        Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

        Kommentar


          #5
          Danke das war die Lösung
          Gruß Ansgar

          Kommentar

          Lädt...
          X