Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum DIMMER ITEM im Sitemap

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

    Frage zum DIMMER ITEM im Sitemap

    Hallo Leute,

    mal eine Frage:
    Ich habe einen Dimmer im Wohnzimmer über KNX.

    nur habe ich das Problem, das sich der Schieberegler im Sitemap nicht bewegt, wenn ich den Dimmer am Taster verändere.
    Ist es möglich, das sich die Position vom Slider aktualisiert?

    hier mal meine Item Definition:

    Dimmer Licht_UG_Wohnzimmer1 "Dimmer 1 Wohnzimmer [%d %%]" (UG_Wohnzimmer, gLichtEG) { knx="<1/2/5, <1/2/6, <1/2/13" }

    1/2/5 Dimmer an/aus
    1/2/6 Dimmer dimmen
    1/2/13 Wert vom Dimmer in Prozent

    Alle Lese-Bits sind gesetzt und openHab meckert auch nicht im Log.


    Hat da wer einen Tip?

    #2
    Normalerweise sollte der Aktor seinen Zustand aktiv auf dem Bus rückmelden, aber über eine eigene GA, die musst Du dann zusätzlich an das Item binden:
    { knx="1/2/5+<1/2/100, 1/2/6, 1/2/13+<1/2/101" }
    Wobei im Beispiel GA 1/2/100 der Status Schaltzustand und GA 1/2/101 der Status Dimmwert sind. Dabei ist auch zu beachten, dass openHAB beim Start nicht die Schalt-GA nach dem aktuellen Zustand befragt, sondern die Status-GA, das bedeutet auch, dass der Aktor antwortet, nicht ein Taster, dessen Lesebit gesetzt ist.

    Kommentar


      #3
      Hallo Leute,

      ich möchte diesen alten Post mal wieder ausgraben.
      Ich habe das ausprobiert und dann habe ich es sein lassen, da ich das irgendwie nicht hinbekommen habe.

      Nun aber zu einem neuen Versuch:

      Ich habe die o.g. Gruppenadressen, der Aktor (Ich habe eine Wago-SPS im Gebrauch) liefert leider keine Rückmeldungen.
      Nun habe ich folgende Idee:

      Ich erzeuge mir die Rückmeldungen über eine rule selber.
      Ich habe 2 neue items angelegt:
      Dimmer 1 Rückmeldung Wert { knx="5/1/50" }
      Dimmer 1 Rückmeldung Status { knx="5/1/48" }

      Die Rule sollte irgendwie so ausssehen:

      When
      Item Licht_UG_Wohnzimmer1 changed
      then
      if (receivedCommand == OFF)
      {
      Dimmer_1_Rueckmeldung_Status.sendCommand(OFF)
      }

      end


      Das gleiche mit Command "ON"

      So mit den Prozentwerten (z.B. 50% Helligkeit):

      ...

      if (receivedCommand == 50)
      {
      Dimmer_1_Rueckmeldung_Wert.sendCommand(5)
      }

      ...

      Muss ich die Bedingung jetzt 100mal eintragen?
      Das geht doch sicherlich einfacher...... ;-)


      Nur das Item bekommt ja noch die Befehle "INCREASE" und "DECREASE"


      Und muss das die das binding für das Item so aussehen?

      Dimmer Licht_UG_Wohnzimmer1 "Dimmer 1 Wohnzimmer [%d %%]" { knx="<1/2/5+<5/1/50, <1/2/6, <1/2/13+<5/1/48" }


      Ist das so möglich oder denke ich falsch??

      Gruß

      Kommentar


        #4
        Ich stehe ehrlich gesagt etwas auf dem Schlauch. Ist die Wago SPS denn über knx angebunden? Warum gibt sie Wago keinen Status raus? Wenn Du ein Item zum steuern verwendest, sollte openHAB (default) den Status des Items ohnehin immer passend setzen, also bei einem Switch Item wird ein Kommando ON dazu führen, dass der Status des Items sich auch auf ON ändert. Bei einem Dimmer Item wird ein sendCommand(50) auch dazu führen, dass das Item den Status 50 hat. Da Du ohnehin keine echte Rückmeldung bekommst, sollte das dann doch reichen?
        Ansonsten müsstest Du natürlich einfach nur eine Rule erstellen:
        Code:
        rule "Schalter Status weiterreichen"
        when
            Item Licht_UG_Wohnzimmer1 changed
        then
            Dimmer_1_Rueckmeldung_Status.postUpdate(Licht_UG_Wohnzimmer1.state)
        end
        für die Dimmerbefehle wird es etwas komplizierter weil es dort Befehle gibt, die Du nicht durchreichen kannst:
        Code:
        rule "Schalter Status weiterreichen"
        when
            Item Licht_UG_Wohnzimmer1 received command
        then
            if (receivedCommand == INCREASE)
                Dimmer_1_Rueckmeldung_Status.postUpdate((Dimmer_1_Rueckmeldung_Status.state as Number)+5)
            else if (receivedCommand == DECREASE)
                Dimmer_1_Rueckmeldung_Status.postUpdate((Dimmer_1_Rueckmeldung_Status.state as Number)-5)
            else
               Dimmer_1_Rueckmeldung_Status.postUpdate(receivedCommand.toString)
        end
        .postUpdate() weil Du ja den Status des Items ändern willst. Für INCREASE und DECREASE musst Du den Wert des Dimmers faken, also irgendwas dazu addieren oder subtrahieren, um näherungsweise auf den korrekten Status zu kommen.

        Aber nochmal die Frage von oben (etwas anders formuliert): Bist Du sicher, dass die Wago nicht in der Lage ist, den Status korrekt zurück zu melden? Irgendwie kann ich mir das bei Wago nicht vorstellen...

        Kommentar


          #5
          Hallo Toni,

          Die Wago ist über KNX angebunden.
          Habe das Wago KNX Starterkit 1 (erweitert) in Gebrauch.

          es ist leider so. Die Wago gibt keine Rückmeldung über den Dimmerstatus bzw. den Wert raus.
          Es gibt an dem Programmbaustein (Codesys) keine Ausgabe für den Wert, also kein Feedback.

          Für die Binärbausteine ja, leider nicht für den Dimmer.... :-(

          Daher muss ich mir die Rückmeldung ja selber bauen, die Rule sieht schon mal ganz gut aus. Ich werde die mal testen.

          Ich kann dann doch das Item "Dimmer_1_Rueckmeldung" mit einer GA verbinden (ich benutze KNX 1) und die GA dann rückwärts in das Dimmer-Item mit einbinden, oder?
          Dann sollte der Dimmer richtig angezeigt werden.

          Ich teste das mal....


          Gruß

          Kommentar


            #6
            Na ja, das Problem dabei ist halt, die von der Rule erzeugte Rückmeldung ist geschätzt - außer der Programmbaustein macht definierte Dimmschritte pro INCREASE/DECREASE Kommando, dann wäre es nicht so wild. Trotzdem musst Du natürlich sicherstellen, dass die Werte synchron bleiben.

            Du musst nicht unbedingt ein eigenes Item für die Rückmeldung nutzen. Du kannst das postUpdate genauso auch auf das normale Item los lassen:

            Code:
            rule "Schalter Status weiterreichen"
            when
                Item Licht_UG_Wohnzimmer1 received command
            then
                if (receivedCommand == INCREASE)
                    Licht_UG_Wohnzimmer1.postUpdate((Licht_UG_Wohnzimmer1.state as Number)+5)
                else if (receivedCommand == DECREASE)
                    Licht_UG_Wohnzimmer1.postUpdate((Licht_UG_Wohnzimmer1.state as Number)-5)
            end
            Zuletzt geändert von udo1toni; 23.05.2018, 19:02.

            Kommentar


              #7
              Hallo welchen Baustein in der Wago benutzt du denn ? Du kannst Dir doch das auch in der Wago spiegeln und auf den Bus senden. letztendlich sendest Du doch auch nur 1 Byte auf den Bus.
              Gruß

              Guido

              Kommentar


                #8
                Stimmt. Sollte so gehen. Ich werde das bei Gelegenheit mal ausprobieren.

                Gruß
                Yankee

                Kommentar

                Lädt...
                X