Hallo
hat jemand eine Idee wie ich die Rules als Readings bekomme?
07:52:53 MQT: stat/TA_WP_G8/RESULT = {"Rule3":"ON","Once":"OFF","StopOnError":"OFF","Length":42,"Free":469,"Rules":"ruletext"}
habe als readinglist attribut:
stat/TA_WP_G8/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }}
im Reading landet dann aber nur das Reading: Rules
Ich verstehe nicht warum nicht RuleX (1-3) als Reading auftaucht?
Wie bekomme ich das hin?
Danke für die Hilfe
VG T
Zeig uns bitte jeweils ein Event fuer die 3 Regel, und das ganze readingsList.
Zitat von: rudolfkoenig am 03 August 2020, 09:28:52
Zeig uns bitte jeweils ein Event fuer die 3 Regel, und das ganze readingsList.
Hallo Rudolf,
danke fürs Schauen.
tele/TA_WP_G8/LWT:.* LWT
tele/TA_WP_G8/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/TA_WP_G8/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/TA_WP_G8/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/TA_WP_G8/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/TA_WP_G8/POWER1:.* POWER1
stat/TA_WP_G8/POWER:.* POWER
stat/TA_WP_G8/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
in der tasmota console
rule0
bzw via fhem setlist:
ruleAll_check:noArg cmnd/$NAME/backlog rule1;rule2;rule3
tasmota log:
10:40:24 MQT: stat/TA_WP_ESP01_Blau/RESULT = {"Rule1":"ON","Once":"OFF","StopOnError":"OFF","Length":414,"Free":97,"Rules":"..ruletext "}
10:40:24 MQT: stat/TA_WP_ESP01_Blau/RESULT = {"Rule2":"ON","Once":"OFF","StopOnError":"OFF","Length":414,"Free":97,"Rules":"..ruletext "}
10:40:24 MQT: stat/TA_WP_ESP01_Blau/RESULT = {"Rule3":"ON","Once":"OFF","StopOnError":"OFF","Length":414,"Free":97,"Rules":"..ruletext "}
würde gerne readings haben mit:
Rule[b]X[/b]_state (on/off)
Rule[b]X[/b]_once
Rule[b]X[/b]_length
Rule[b]X[/b]_free
Rule[b]X[/b]_Rulestext
Verstehe nicht genau welchen EVENT du meinst?
Habe das Problem das ich Rules in tasmota schalten will und dabei merkwürdigerweise Ruleveränderungen in Tasmota habe. Deshalb wäre ein logging und Readings zur Überwachung hilfreich
Danke VG Thomas
Im readingList die Zeile(n) mit stat/TA_WP_ESP01_Blau/RESULT durch Folgendes ersetzen:
stat/TA_WP_ESP01_Blau/RESULT:.* { $EVENT=~m/(Rule[1-3])/; json2nameValue($EVENT, $1?"$1_":"",$JSONMAP) }
Das erzeugt Readings nach diesem Muster:
Zitat2020-08-03 12:04:43 Rule3_Free 97
2020-08-03 12:04:43 Rule3_Length 414
2020-08-03 12:04:43 Rule3_Once OFF
2020-08-03 12:04:43 Rule3_Rule3 ON
2020-08-03 12:04:43 Rule3_Rules ..ruletext
2020-08-03 12:04:43 Rule3_StopOnError OFF
Falls noetig, kann man diese Namen mit dem jsonMap Attribut nach eigenem Geschmack aendern oder loeschen.
Zitat von: rudolfkoenig am 03 August 2020, 12:10:57
Im readingList die Zeile(n) mit stat/TA_WP_ESP01_Blau/RESULT durch Folgendes ersetzen:
stat/TA_WP_ESP01_Blau/RESULT:.* { $EVENT=~m/(Rule[1-3])/; json2nameValue($EVENT, $1?"$1_":"",$JSONMAP) }
Das erzeugt Readings nach diesem Muster:
Falls noetig, kann man diese Namen mit dem jsonMap Attribut nach eigenem Geschmack aendern oder loeschen.
Hallo Ludgwig,
super danke.
habe allerdings Probleme damit .
wenn ich das im Attribut ergänze zickt Fhem und stürzt ab beim speichern des Attributes.
Bin gerade auf der Suche im log.....
muss ich eventuell an der JSONMAp was ändern?
attr TA_WP_G8 jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
habe nun versucht das im RAW Modus am Device zu editieren.
Fehlermeldung:
TA_WP_G8: bad reading name { $EVENT=~m/(Rule[1-3])/ (contains not A-Za-z/\d_\.- or is too long)
Unknown command json2nameValue($EVENT,, try help.
attribut:
attr TA_WP_G8 readingList tele/TA_WP_G8/LWT:.* LWT\
tele/TA_WP_G8/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }\
tele/TA_WP_G8/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }\
tele/TA_WP_G8/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
tele/TA_WP_G8/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }\
stat/TA_WP_G8/POWER1:.* POWER1\
stat/TA_WP_G8/POWER:.* POWER\
stat/TA_WP_G8/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }\
stat/TA_WP_G8/RESULT:.* { $EVENT=~m/(Rule[1-3])/; json2nameValue($EVENT, $1?"$1_":"",$JSONMAP) }
Merkwürdig:bei einem Device hat es nun geklappt über das Attribut GUI ....
...nun aber auch über das AttributGUI beim Speichern die gleiche Fehlermeldung:
TA_WP_G8: bad reading name { $EVENT=~m/(Rule[1-3])/;; json2nameValue($EVENT, $1?"$1_":"",$JSONMAP) }\ (contains not A-Za-z/\d_\.- or is too long)
im Fehlermeldung:
Aug 03 13:12:28 ub9 systemd[1]: fhem.service: Main process exited, code=killed, status=9/KILL
Aug 03 13:12:28 ub9 systemd[1]: fhem.service: Failed with result 'signal'.
Vielen Dank
PS. hatte auch alle Readings des Devices mal gelöscht....hat aber wohl nichts gebracht
Hallo Ludwig,
update....nochmal alle Readings der entsprechenden Geräte bereinigt. Nun scheint es zu klappen-.
Bei 2 habe ich es schon drann und die Readings sind da.
Super vielen Dank für die Hilfe.....wahnsinn.
noch eine Frage kann man das readinglist generisch machen? mit $NAME?
stat/$NAME/RESULT:.* { $EVENT=~m/(Rule[1-3])/; json2nameValue($EVENT, $1?"$1_":"",$JSONMAP) }
VG Thomas
Moin, ist zwar schon ein paar Tage alt der letzte Post, aber ja, es gibt für dein $NAME ein Attribut mit dem Namen devicetopic welches im Reading mit $DEVICETOPIC verwendet wird.
ah ok, danke, muss ich mal checken