[TIPP] [V4.1 IP1] Shelly i4G3 Button (Ableitung v. SHELLY BUTTON DEKODER - MULTI TRUE)

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
gbglace
Reactions:
Beiträge: 3751
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1318 Mal
Danksagung erhalten: 1722 Mal

[V4.1 IP1] Shelly i4G3 Button (Ableitung v. SHELLY BUTTON DEKODER - MULTI TRUE)

#1

Beitrag von gbglace »

Da die Events bei der Konfiguration als Button eines Shelly-i4G3 Interface eine abweichende Ausprägung haben als jene im Standardbaustein, habe ich auf der Basis des Standardbausteins SHELLY BUTTON DEKODER - MULTI TRUE die aktuellen Ausprägungen eingearbeitet.

Es werden hier nun folgende Ausprägungen unterstützt:
btn_up, btn_down, single_push, double_push, triple_push, long_push

Der Baustein kann somit direkt an das eingehende MQTT Objekt verbunden werden.

Die Levelbezeichner wurden ebenfalls entsprechend angepasst
OutBU, OutBD, OutSP, OutDP, OutTP, OutLP
IsBU, IsBD, IsSP, IsDP, IsTP, IsLP


Hinweis:
btn_up und btn_down werden vom Shelly mit jedem Flankenwechsel gesendet.
Die ausgewerteten single, double, triple, long werden separat gesendet, wobei günstiger Weise kein single vor double vor triple gesendet wird.
Diese Ausgänge lassen sich somit auch direkt für unterschiedliche Aktionen verwenden.

Stand heute 08/2024 kann der Shelly i4G3 zwar auch schon KNX-IP aber dort ist double_push und triple_push nicht verfügbar, daher habe ich hier den Weg MQTT via TWS genutzt.

Code: Alles auswählen

{
  "Level": [
    [
      "$In!",
      "string,16",
      ""
    ],
    [
      "$OutBU",
      "bool",
      false
    ],
    [
      "$IsBU",
      "string",
      "btn_up"
    ],
    [
      "$OutBD",
      "bool",
      false
    ],
    [
      "$IsBD",
      "string",
      "btn_down"
    ],
    [
      "$OutSP",
      "bool",
      false
    ],
    [
      "$IsSP",
      "string",
      "single_push"
    ],
    [
      "$OutDP",
      "bool",
      false
    ],
    [
      "$IsDP",
      "string",
      "double_push"
    ],
    [
      "$OutTP",
      "bool",
      false
    ],
    [
      "$IsTP",
      "string",
      "triple_push"
    ],
    [
      "$OutLP",
      "bool",
      false
    ],
    [
      "$IsLP",
      "string",
      "long_push"
    ],
    [
      "$VAR<Inhibit?>",
      "bool",
      false
    ],
    [
      "$CompareMode",
      "string",
      "e"
    ]
  ],
  "Module": [
    [
      "Break",
      [
        "$VAR<Inhibit?>"
      ]
    ],
    [
      "Stringcompare",
      "$In!",
      "$OutBU",
      "$IsBU",
      "$CompareMode"
    ],
    [
      "Stringcompare",
      "$In!",
      "$OutBD",
      "$IsBD",
      "$CompareMode"
    ],
    [
      "Stringcompare",
      "$In!",
      "$OutSP",
      "$IsSP",
      "$CompareMode"
    ],
    [
      "Stringcompare",
      "$In!",
      "$OutDP",
      "$IsDP",
      "$CompareMode"
    ],
    [
      "Stringcompare",
      "$In!",
      "$OutTP",
      "$IsTP",
      "$CompareMode"
    ],
    [
      "Stringcompare",
      "$In!",
      "$OutLP",
      "$IsLP",
      "$CompareMode"
    ],
    [
      "SendExplicit",
      "$OutBU",
      "$OutBU",
      0
    ],
    [
      "SendExplicit",
      "$OutBD",
      "$OutBD",
      0
    ],
    [
      "SendExplicit",
      "$OutSP",
      "$OutSP",
      0
    ],
    [
      "SendExplicit",
      "$OutDP",
      "$OutDP",
      0
    ],
    [
      "SendExplicit",
      "$OutTP",
      "$OutTP",
      0
    ],
    [
      "SendExplicit",
      "$OutLP",
      "$OutLP",
      0
    ]
  ],
  "Input": [
    [
      "Button",
      "The button sending btn_up, btn_down, single_push, double_push, triple_push or long_push",
      "$In!",
      "a"
    ],
    [
      "Inhibit",
      "INHIBIT",
      "$VAR<Inhibit?>",
      "u"
    ]
  ],
  "Output": [
    [
      "btn_up",
      "True when Button changes to up",
      "$OutBU",
      "x"
    ],
    [
      "btn_down",
      "True when Button changes to down",
      "$OutBD",
      "x"
    ],
    [
      "single_push",
      "True when a Single push is performed",
      "$OutSP",
      "x"
    ],
    [
      "double_push",
      "True when a Double push is performed",
      "$OutDP",
      "x"
    ],
    [
      "triple_push",
      "True when a Triple push is performed",
      "$OutTP",
      "x"
    ],
    [
      "long_push",
      "True when a Long push is performed",
      "$OutLP",
      "x"
    ]
  ]
}

/**Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht.*/
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension
Antworten

Zurück zu „Zusätzliche Logikbausteine“