Ankündigung

Einklappen
Keine Ankündigung bisher.

MeTa: Status und Schalten von Virtuellen Gruppenadressen

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

    MeTa: Status und Schalten von Virtuellen Gruppenadressen

    Moin,

    ich habe einen Knoten im Kopf.
    Folgende Ausgangssituation

    Ich habe einen WLAN Plug der soll via Meta Taster ein und ausgeschaltet werden und via Webseite vom Plug bzw vom EibPc (Button oder Automatik).
    Der Status soll im Meta auf den Wippen angezeigt werden ob ein oder aus (Licht an oder Licht Aus Symbol)
    Wie bringe ich den MeTa dazu das Anzuzeigen , ich habe da die Status Objekte 52-60 gefunden aber das sind ja nur 8?, Ich habe doch 3 Ebenen a 8 Taster(Wippen)

    Wenn ich jetzt mit einer Gruppenadresse arbeite dann gerät mein Programm in Schwingung und schaltet immer ein und aus :-(
    Wenn ich mit zwei Gruppenadressen (eine Statusadresse) arbeiten will weis ich nicht wie ich dem Meta dann das Anzeigen lassen soll das der Plug Ein ist. Da ich doch eigentlich nur 1 Schaltobjekt habe und kein Status objekt was ich für 24 Tasten habe.

    Code:
    if (Tasmota^PlugName^Output == $OFF$) then {
        Write(GruppenAdresse,AUS);
    } endif  
    
    if (Tasmota^PlugName^Output == $ON$) then {
        write(GruppenAdresse,EIN);
    } endif  
    
    if (GruppenAdresse == EIN) then {
        publishmqtt(uMqttHandleEibPC, $cmnd/^PlugName^/POWER$, 0, 0b01, $ON$, 0u16);
    }endif
    if (GruppenAdresse == AUS) then {
        publishmqtt(uMqttHandleEibPC, $cmnd/^PlugName^/POWER$, 0, 0b01, $OFF$, 0u16);
    }endif
    ​

    #2
    So ein teil des problems scheine ich gelöst zu haben mit folgender Änderung:
    Code:
    if change(Tasmota^PlugName^Output) and Tasmota^PlugName^Output == $OFF$ then {
        Write(GruppenAdresse,AUS);
    } endif  
    
    if change(Tasmota^PlugName^Output) and Tasmota^PlugName^Output == $ON$ then {
        write(GruppenAdresse,EIN);
    } endif  
    
    if (GruppenAdresse == EIN) then {
        publishmqtt(uMqttHandleEibPC, $cmnd/^PlugName^/POWER$, 0, 0b01, $ON$, 0u16);
    }endif
    if (GruppenAdresse == AUS) then {
        publishmqtt(uMqttHandleEibPC, $cmnd/^PlugName^/POWER$, 0, 0b01, $OFF$, 0u16);
    }endif​
    kein schwingen mehr und die Anzeige wird auch aktualisiert.
    Beim Systemstart wird noch ein Mqtt befehl erzeugt, was ja eigentlich ok ist da dann der Meta Taster auf den Wert gesetzt wird wie der Zustand des Plugs ist.
    Zuletzt geändert von PharaDOS; 11.03.2025, 07:21.

    Kommentar


      #3
      Bin mir gerade etwas unsicher was ich programmiert hatte,
      Welche Code ist besser, der mit eventwrite ? oder ohne ? oder gibt es da noch was zu verbessern.
      "problem" ist das wenn jetzt ein KNX telegramm geschrieben wird (von extern)noch eins hinterher kommt vom EibPC.

      Code:
      if change(Tasmota^PlugName^Output) and Tasmota^PlugName^Output == $OFF$ then {
          Write(GruppenAdresse,AUS);
      } endif  
      
      if change(Tasmota^PlugName^Output) and Tasmota^PlugName^Output == $ON$ then {
          write(GruppenAdresse,EIN);
      } endif  
      
      if eventwrite(GruppenAdresse) and (GruppenAdresse == EIN) then {
          publishmqtt(uMqttHandleEibPC, $cmnd/^PlugName^/POWER$, 0, 0b01, $ON$, 0u16);
      }endif
      if eventwrite(GruppenAdresse) and (GruppenAdresse == AUS) then {
          publishmqtt(uMqttHandleEibPC, $cmnd/^PlugName^/POWER$, 0, 0b01, $OFF$, 0u16);
      }endif​

      Kommentar

      Lädt...
      X