Tasmota auf NodeMCU mit MCP23017 als Button-Eingänge - MQTT Message anpassen

  • Hallo zusammen,

    brauche nochmal Hilfe.

    Für ein Projekt benötige ich 15 Taster, welche ich einzeln zum ioBroker schicken will (true & false bzw. 0 & 1).

    Da ich nicht mehrere Endgeräte nutzen möchte, will ich einen I/O Expander nutzen (MCP23017). Am liebsten nutze ich für sowas eigtl. ESPEasy, aber dort habe ich lediglich 12 Tasks zur Verfügung, also kann ich nur 12 verschiedene Taster nutzen. Ich brauche aber 15.

    So habe ich nun das aktuelle Tasmota kompiliert und auf eine [definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0']NodeMCU[/definition][/definition][/definition][/definition][/definition] geschickt. Eingerichtet als "Generic (18)" und den i2c Bus auf GPIO 4 & 5 gelegt.

    Der MCP23017 wird auch erkannt und auch die Taster werden alle erkannt. Per MQTT wird auch schon beim Betätigen eines Tasters eine Message an den ioBroker geschickt.

    Allerdings nicht so, wie ich es gerne hätte :(

    Beim Betätigen des Tasters am Eingang D0 vom MCP23017 werden zwei Meldungen geschickt:

    Code
    {"Time":"2019-03-19T22:50:56","MCP230XX_INT":{"D0":1,"MS":5905}}
    Code
    {"Event":"Done"}

    Die obere Meldung ist dabei nur für einen Bruchteil einer Sekunde im Objekt, anschließend wird das Objekt direkt mit der zweiten Message gefüttert.


    Mich interessiert ja im Endeffekt nur der Teil --> "D0":1 <--

    Zudem werden alle MQTT Messages immer nur an das eine Objekt geschickt.

    Gibt es die Möglichkeit über Regeln direkt in Tasmota einfach nur ein true oder false an ein bestimmtes Objekt im ioBroker zu schicken?


    Tips wären auch schon hilfreich. Derweil studiere ich mit meinem gebrochenen Englisch weiter das Tasmota Wiki


    Danke


    EDIT:

    Vergesst es. War zu voreilig. Habs gefunden. Mit folgender Regel in Tasmota klappt wunderbar:

    Code
    rule on event#MCPINT_D0=1 do publish stat/Test/D0 true endon on event#MCPINT_D0=0 do publish stat/Test/D0 false endon


    Ne..... wieder EDIT.....

    klappt nur begrenzt. Man kann wohl maximal 3 Regeln erstellen und jede darf maximal 511 Zeichen enthalten :(

    Selbst wenn ich sparsam bin beim coden und nur die true-states übermitteln würde, komme ich auf maximal 4 Taster pro Regel, also insgesamt 12 .....


    Jemand noch ne Idee?


    EDIT:

    Hab mir jetzt nen ESP32 bestellt. Damit sollen dann bis zu 32 Tasks möglich sein....

    4 Mal editiert, zuletzt von cruunnerr (20. März 2019 um 20:46)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!