Ankündigung

Einklappen
Keine Ankündigung bisher.

Toggle On Auto Off und Style vom Relais

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

    Toggle On Auto Off und Style vom Relais

    Hallo

    ich versuche einen Toggle mit drei Status, On,Off,Auto so zu Stylen dass der Button Grün ist, wenn der Switch, der den Lüfter steuert Ein ist und Rot wenn der Switch aus ist, also nicht auf grund des eigenen Status sondern eines weiteren Aktors. Geht das überhaupt?


    Code:
    <toggle mapping="OnOffAuto" styling="OnOffAuto">
                    <layout colspan="4"/>
                    <label>Dusche Modus</label>
                    <address transform="OH:number" readonly="false" variant="">Dusche_Mode</address>
    </toggle>

    besten Dank für die Antwort!


    #2
    Nicht direkt. Du musst in openHAB eine Rule anlegen und die beiden GA zu einer zusammen fassen. Also

    GA1 (Modus) ist:

    0 = off
    1 = on
    2 = auto

    GA2 (Switch) ist:

    0 = off
    1 = on

    Rule Pseudo Code:

    if (GA2.value == on)
    GA3.value = GA1.value + 4
    else
    GA3.value = GA1.value

    Jetzt kannst du in CV (für GA3) folgendes Mapping machen:

    0 = off / rot
    1 = on / rot
    2 = auto / rot
    4 = off / grün
    5 = on / grün
    6 = auto / grün

    Hier kannst du die Rule abschreiben.

    Kommentar


      #3
      Besten Dank für die rasche Antwort!!


      Das habe ich mir auch schon überlegt. Mein Lösung in die Richtung war
      GA3:
      0 OFF (ist immer rot)
      1 AUTO rot
      2 AUTO grün
      3 ON (ist immer grün)

      wenn der Benutzer nun von OFF auf ON klicken will, muss er zweimal Auto Klicken, das finde ich unschön. (wenn ich das meiner Frau verklickern muss..., ich höre sie schon )

      Problem an der lösung mit AutoON und AutoOFF status ist dann das Umschalten auf dem CV Client, da möchte ich ja einfach von Off -> Auto -> ON schalten...

      oder verpasse ich etwas?

      Kommentar


        #4
        Evtl. in zwei Widgets implementieren. Ein Info (z.B. nur aus einem Icon bestehend) für GA2 und das toggle für GA1.
        TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

        Kommentar


          #5
          Zu Dokumentations zwecken, falls jemand das selbe Problem hat.

          Ich habe einen Status und ein Aktor in Openhab

          Code:
          Number Dusche_Mode               "Modus Lüfter Dusche [MAP(modus.map):%d]"                   
          Switch dusche_luefter                 "Lüfter Dusche"                                                     {homematic="address=, channel=1, parameter=STATE"}
          mit den möglichen werten (modus.map):

          Code:
          -3=AutoEin
          -2=Aus
          -1=AutoAus
          0=Aus
          1=Ein

          in der Visu.xml ein mapping:
          Code:
                      <mapping name="OnOffAuto">
                          <entry value="-3">Auto</entry>
                          <entry value="-2">Aus</entry>
                          <entry value="-1">Auto</entry>
                          <entry value="0">Aus</entry>
                          <entry value="1">Ein</entry>
                      </mapping>
          und einen Style:
          Code:
                      <styling name="OnOffAuto">
                          <entry value="-3">green</entry>
                          <entry value="-1">red</entry>
                          <entry value="0">red</entry>
                          <entry value="1">green</entry>
                      </styling>

          dann noch eine Rule für Openhab:
          Code:
          rule "luefterAusschalten"
          when
              Item dusche_luefter changed  
              or Item Dusche_Mode changed
          then
              if(Dusche_Mode.state ==-2 ) {
                  Dusche_Mode.sendCommand(0) 
                  return 0
              }
              if(Dusche_Mode.state >=0) return 0 // nur wenn auto
              
              logInfo("info","luefterAusschalten")
              if(dusche_luefter.state==ON) {
                  Dusche_Mode.sendCommand(-3)
                  
                  var t =now.plusMinutes(10).plusSeconds(0)
          
                  if(timer!=null){
                      timer.reschedule(t)
                  }else{
                      timer = createTimer(t) [|
                          dusche_luefter.sendCommand(OFF)
                       ]}
              } else {
                  Dusche_Mode.sendCommand(-1)
                  if(timer!=null) {
                      timer.cancel
                      timer = null
                  }
              }
          end
          
          
          rule "LuefterSchalten"
          when Item Dusche_Mode changed
          then
              if(Dusche_Mode.state==0) dusche_luefter.sendCommand(OFF)
          
              if(Dusche_Mode.state==1) //ein
              {
                  if(timer!=null) { // if Timer exists
                      timer.cancel
                      timer = null
                  }
                  dusche_luefter.sendCommand(ON)
                  
              }
                  
          end

          Falls der Status -3 ist -> AutoEin und meine Frau auf den Toggle drückt, wechselt der Modus auf -2

          Falls der Status -2 ist -> Aus dann greift die Rule "luefterAusschalten" und setzt den Modus auf 0

          Falls der Status -1 ist -> AutoAus und meine Frau auf den Toggle drückt, wechselt der Modus auf 0
          Falls der Status 0 ist -> Aus und meine Frau auf den Toggle drückt, wechselt der Modus auf 1
          Falls der Status 1 ist -> Ein und meine Frau auf den Toggle drückt, wechselt der Modus auf -3


          der ganze Trick ist modus -2, der von der Rule auf 0 gesetzt wird.

          (die Rule luefterAusschalten handelt noch den Ausschalt Timer und setzten von Modus auf -3 /-1 je nach ein/aus)


          Danke für die wertvollen gedanken anstösse!

          Kommentar

          Lädt...
          X