Ankündigung

Einklappen
Keine Ankündigung bisher.

Batteriewert von Woli nutzen

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

    [Codebeispiel] Batteriewert von Woli nutzen

    Hallo zusammen,
    mal wieder ein problem.
    Ich habe auf einem Tablett Woli instaliert.Von dort kommt der Akkustand auf eine GA,aber nur auf Anfrage.Wie müsste ein Item oder eine Rule aussehen um diesen Wert regelmäßig auszulesen?
    MFG Alex

    #2
    Ich gehe davon aus, dass Du knx2 nutzt. Die Konfiguration läuft über ein Thing. Da das zyklische Auslesen immer auf alle Channels eines Thing konfiguriert wird, solltest Du den Channel über ein separates Thing konfigurieren, z.B. so:
    Code:
    Thing device woli "Woli" [
    readInterval=300] {
        Type number : akku "Akkustand" [ ga="<1/2/3" ]
    }
    die GA 1/2/3 wird nun alle 5 Minuten (=300 Sekunden) gelesen. Natürlich muss der DPT auch passen.

    Kommentar


      #3
      Hallo,
      alles klar,danke. Die info das man für "<" ein intervall angeben kann hatte ich bisher nicht gefunden.

      Kommentar


        #4
        https://www.openhab.org/addons/bindi...#device-things

        Kommentar


          #5
          Hallo, leider funktioniert das so nicht.Der Wert wird nicht aktualisiert.
          .things:

          Code:
          Bridge knx:ip:bridge
          [ 
          ipAddress="000.000.000.00", 
          portNumber=3671, 
          localIp="000.000.000.00", 
          type="TUNNEL"
          
          
          ]
          
          {
          Thingdevicewoli
          [ readInterval=30 ] 
          {
          Typedimmer:Akku"Akkustand" [ ga="5.001:<0/0/21" ]
          }
          
          
          Thingdevicegeneric
          [
          ]
          {}
          .items:
          Code:
           DimmerAkku"Akkustand          [%d %%]"          <energy>              (Flur)                        { channel="knx:device:bridge:woli:Akku" }
          Dimmer hab ich wegen der Prozentausgabe verwendet

          Wenn ich die GA über die ETS auslese kommt der richtige Wert.











          Zuletzt geändert von alexbn; 01.01.2020, 23:36.

          Kommentar


            #6
            Die fehlenden Leerzeichen sind vermutlich ein Copy&Paste Fehler.
            Ich bin mir nicht sicher, was die minimale Abfragefrequenz betrifft. Bekommt openHAB denn beim Neustart den Akkustand gemeldet?

            Kommentar


              #7
              Hallo,
              ja die Leerzeichen sind ein Fehler.Die Abfragfrequenz soll nur zum testen sein.Ja beim Start bekommt er einen Wert,der sich danach aber nicht mehr ändert. Auch im Log sehe ich keine abfrage mehr.
              Geht das auch über eine Rule? Der Woli wird über knx BWM aktiviert.GA:9/0/1. Kann man,wenn sich dieser ändert aktiv die GA 5.001:0/0/21 abfragen?
              Danke schonmal.

              Kommentar


                #8
                Nein, Read Requests gehen nur bei Systemstart oder über readInterval. Hast Du openHAB mal neu gestartet?

                Kommentar


                  #9
                  Hallo,
                  ja neu gestartet hab ich schon.Wenn ich den Item Typ auf Number änder funktioniert es.Aber dann halt mit dem 0, problem.
                  Wenn ich das auf Dimmer änder wird doch nur der .things TYPE in dimmer bzw. .item in Dimmer geändert? Wie im Code oben?Oder muss noch mehr geändert werden
                  Zuletzt geändert von alexbn; 02.01.2020, 20:40.

                  Kommentar


                    #10
                    Hab da jetzt mit nem zweiten Thing welches als Dimmer läuft gelöst.
                    Dazu hab ich nun eine rule erstellt die via KNX das Tablet laden soll.
                    .rule:
                    Code:
                     rule"Tablet laden"
                      when
                      Item Akku changed
                      then
                      if((Akku.state as Number) > 90) // mehr als 90% -> Laden aus
                      E10_Laden.sendCommand(OFF)
                      else
                      if((Akku.state as Number) < 20) // weniger als 20% Laden ein 
                      E10_Laden.sendCommand(ON)
                      end
                    leider schaltet die rule nur auf "ON" .
                    hier noch die.thing
                    Code:
                     Type number:Akku  "Akkustand"           [ ga="5.001:0/0/21" ]
                    und die .item:
                    Code:
                     Number Akku  "Akkustand  E10          [%d  %%]"          <energy>              (Flur)                      { channel="knx:device:bridge:woli:Akku" }
                    Zuletzt geändert von alexbn; 03.01.2020, 19:11.

                    Kommentar


                      #11
                      Bist Du sicher, dass der Akkustand über die 90 hinausgeht? Ansonsten könntest Du die Rule etwas anders formulieren und gleich noch mit loggen, welchen Stand der Akku hast und wie die Reaktion der Rule ist.
                      Code:
                      rule"Tablet laden"
                      when
                          Item Akku changed
                      then
                          var Number nLoad = 100
                          if(Akku.state instanceof Number)
                              nLoad = Akku.state as Number
                          logInfo("loadTablet","Ladestand {}% -> {}",nLoad,if(nLoad > 90) "OFF" else (if(nLoad < 20) "OFF" else "no Change"))
                          if(nLoad > 90)
                              E10_Laden.sendCommand(OFF)
                          if(nLoad < 20)
                              E10_Laden.sendCommand(ON)
                      end

                      Kommentar


                        #12
                        Hallo,
                        ja der angezeigt Wert geht bis 100.Mit meiner obigen rule schaltet er wie gesagt auch ein,aber bei überschreiten der 90 nicht mehr aus.
                        Muss ich für dein beispiel noch ein var number anlegen oder reicht die eigentliche rule?

                        Kommentar


                          #13
                          Die Rule sollte exakt so funktionieren.

                          Kommentar

                          Lädt...
                          X