tasmota JSON Rule X als Reading

Begonnen von riker1, 03 August 2020, 08:07:09

Vorheriges Thema - Nächstes Thema

riker1

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
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

rudolfkoenig

Zeig uns bitte jeweils ein Event fuer die 3 Regel, und das ganze readingsList.

riker1

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

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

rudolfkoenig

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.

riker1

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

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

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
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

ComputerZOO

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.

riker1

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox