Problem mit eventMap. ON:on macht on-for-timer zu ON-for-timer.

Begonnen von OliKo, 27 Januar 2020, 17:16:33

Vorheriges Thema - Nächstes Thema

OliKo

Hallo zusammen,

ich hab gerade ein Problem, welches ich alleien leider nicht in den Griff bekomme.

Mein Problem ist, ich habe einen schaltbare Steckdose mit Tasmota mit 8.1.0 in mein FHEM integriert.
Dafür habe ich dann eine eventMap erstellt, da ich das so schöner finde.


defmod SP1_4611 MQTT2_DEVICE
attr SP1_4611 IODev myBroker
attr SP1_4611 eventMap ON:on OFF:off
attr SP1_4611 readingList WIN/OG/WZ/SP1-4611/tele/STATE:.* { json2nameValue($EVENT) }\
WIN/OG/WZ/SP1-4611/tele/LWT:.* LWT\
WIN/OG/WZ/SP1-4611/stat/POWER:.* POWER
attr SP1_4611 setList ON WIN/OG/WZ/SP1-4611/cmnd/POWER ON\
OFF WIN/OG/WZ/SP1-4611/cmnd/POWER OFF
attr SP1_4611 stateFormat state
attr SP1_4611 webCmd on:off


Wenn ich nun ein "on-for-timer" versenden will, bekomme ich folgende Fehlermeldung:
Unknown argument ON-for-timer, choose one of ON OFF on-till-overnight toggle on-till off-for-timer on-for-timer off-till intervals blink off-till-overnight attrTemplate

Die eventMap macht mir also aus on-for-timer ein ON-for-timer.
Wenn ich das Attribut eventMap lösche, geht es.

Hat jemand eine Idee, was ich hier falsch mache?
Raspberry Pi 4b - 4GB, Raspberry Pi OS Buster / deCONZ - Licht+Sensoren / piVCCU3 - Heizung+Licht

Beta-User

Spricht was dagegen, dem ESP Kleinschreibung beizubringen? Dann kannst du auf die Event-Map verzichten...

(Code dazu gibt es im attrTemplate tasmota_set_lowercase_texts_and_state1).
Die Alternative wäre vermutlich, die eventMap-Einträge zu verengen, dass die Regex nur auf genau ON bzw. OFF paßt (^ und  $ verwenden).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

OliKo

@Beta-User: Nein, da spricht absolut nichts dagegen. Im Gegenteil. :)

Wenn ich allerdings versuche das Template zuzuweisen, bekomme ich folgenden Fehler:

set SP1_4611 attrTemplate tasmota_set_lowercase_texts_and_state1

Unknown command WIN/OG/WZ/SP1-4611/cmnd/Backlog, try help.

Irgendetwas scheint noch zu fehlen...

Aktuell hab ich die Kommandos direkt in der "Tasmota  Konsole" ausgeführt. Da ich aber 20 von den Teilen in Betrieb nehmen möchte, wäre es genial das SET Kommando zum laufen zu bekommen. :)
Raspberry Pi 4b - 4GB, Raspberry Pi OS Buster / deCONZ - Licht+Sensoren / piVCCU3 - Heizung+Licht

Beta-User

Das ist kein Tasmota-Konsolen-Template, sondern ein attrTemplate für das MQTT2_DEVICE, siehe https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele.

Wenn du erst in das Thema einsteigst, kannst du ja mal zu prüfen, ob du nicht nur die Kleinschreibung aus den attrTemplates verwendest ;) . Das von mir genannte ist eigentlich eines, das nur intern verwendet wird, gedacht ist es eigentlich so, dass man für einkanalige Hardware "tasmota_basic" verwendet und der Rest automatisch läuft...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

OliKo

Das das keine "Tasmota-Konsolen-Template" sind ist mir klar. Nichts destro trotz wird aber in dem Template der Tasmota über die Backlog-Funktion kommandiert.

Diese Kommandos kann ich auch direkt auf dem Tasmota in der Konsole eingeben (Gleicher Effekt) welche dann folgende wären:

StateText1 off
StateText2 on
StateText3 toggle
StateText4 hold
SetOption26 1
SaveData 1


Bei mir schlägt das Kommando, welches ich in FHEM auslöse fehl:


set SP1_4611 attrTemplate tasmota_set_lowercase_texts_and_state1


Ich denke, das liegt daran, dass ich meine Topic Pfad - anders als im Beispiel angegeben - konfguriert habe. Den will ich aber auch so lassen. Ich versuche mal das Template dahingehen anzupassen.

Aber danke nochmal für deine Hilfe! Du hast mir sehr geholfen!
Raspberry Pi 4b - 4GB, Raspberry Pi OS Buster / deCONZ - Licht+Sensoren / piVCCU3 - Heizung+Licht

Beta-User

Hmm, irgendwie schräg...

Du bist der erste, der berichtet, dass diese Fassung nicht funktionieren würde (gut, die meisten belassen es zwischenzeitlich bei den defaults, aber das ist jetzt seit einigen Monaten wieder so), und der Parameter scheint auch sauber aufgelöst worden zu sein ??? .

Wenn du also eine Fassung findest, die noch besser funktioniert: her damit...

(Da wir grade bei Tasmota sind: habe heute gemerkt, dass über "tele" ständig updates auch für die POWER-Geschichten kommen. Im Moment sind die via jsonMap nach "state" umgeleitet, die POWERx-Topic-Pfade werden gar nicht genutzt. Das hat zur Folge, dass man keinen sinnvollen Zeitstempel hat, der der letzten Änderung entspricht. Meine Tendenz wäre jetzt, auch wieder auf die POWER-Topic-Pfade zu lauschen, und dafür den Teil aus dem JSON-Blob zu ignorieren, also z.B. POWER1:0 in jsonMap einzubauen.
Falls du mir folgen kannst, wäre es super, wenn du das bei der Gelegenheit des aktuellen Umbaus austesten würdest und Rückmeldung geben?
Wenn du Sprachsteuerung nutzt und auch da gleich was mittesten wolltest, gäbe es hier Material: https://forum.fhem.de/index.php/topic,99195.msg1018564.html#msg1018564...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors