FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Mitch am 06 November 2020, 09:18:22

Titel: "Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 09:18:22
Hallo Zusammen,

ich hatte bis jetzt meinen go-eCharger über HTTPMOD ausgelsesen und angesteuert. Hat auch alles gut funktioniert.
Da ich gerade so viel wie möglich auf MQTT umstelle, habe ich das auch mit dem go-eCharger gemacht.

Grundsätzlich geht das ganze, allerdings sind die Readings falsch bzw. verdreht.

z.B. ist laut API nrg ein Array von 0 bis 15, nrg_1 ist V auf L1
So war es auch mit HTTPMOD. Mit MQTT gibt es gar kein nrg_0 mehr, sondern es startet mit nrg_1.
Mein go-eCharger hängt nutz zum laden auch immer L1 (mein Auto kann nur einphasig). Wird auch so in der App angezeigt.
Laut MQTT Device wird aber nrg_2, also L2 benutzt.

Und so zieht sich das durch fast alle Readings.

Das blöde daran, dass nur Logs, ReadingGroups, DOIFs und Co. alle nicht mehr stimmen.

Habe ich da etwas falsch gemacht? Liegt es am go-eCharger? Liegt es an der Definition?
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 06 November 2020, 09:30:02
Hmm, vermutlich kommt das von json2nameValue(), wenn ich das richtig im Kopf habe, verwendet das eine "menschliche" Zählung und weist den ersten Wert in einem Array auch den mit "1" indexierten Reading-Namen zu, "richtig" wäre eigentlich, die binäre Zählweise zu verwenden, nach der das erste Array-Element eben mit "0" indexiert ist.

Was du tun kannst, wäre das jsonMap entsprechend so zu gestalten, dass das passt. Pseudo-Code
attr <device> jsonMap nrg_1:nrg_0 nrg_2:nrg_1 nrg_3:nrg_2

Falls das ein allgemeines "Übergangsthema" sein sollte und klappt wie vorgeschlagen, kann ich - entsprechende vollständige Zuarbeit vorausgesetzt - gerne ein Zusatz-attrTemplate ins svn schubsen, mit dem man die Kompabilität herstellen kann...
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 09:40:30
glaube nicht, dass das geht, weil es ja die nrg's dann mehrfach gibt.

nrg_1:nrg_0 nrg_2:nrg_1 nrg_3:nrg_2 -> nrg_1 wird auf nrg_2 gemappt, danach wird das "neue" nrg_2 auf nrg_3 gemapt, nicht das originale

Oder liege ich falsch?

Ich denke, es wäre besser direkt in lesbare Readings zu mappen, z.B. nrg_0:V auf L1
Das ganze wie in der API von e-Go beschrieben.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: rudolfkoenig am 06 November 2020, 09:41:06
Ich vermute auch, dass Beta-Users Hypothese richtig ist, mehr kann ich nur sagen, wenn ich die Roh-Daten und die zum Umwandeln verwendete Einstellungen sehe. Womoeglich gibt es neben jsonMap auch weitere Alternativen.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 06 November 2020, 09:51:43
Zitat von: Mitch am 06 November 2020, 09:40:30
glaube nicht, dass das geht, weil es ja die nrg's dann mehrfach gibt.

nrg_1:nrg_0 nrg_2:nrg_1 nrg_3:nrg_2 -> nrg_1 wird auf nrg_2 gemappt, danach wird das "neue" nrg_2 auf nrg_3 gemapt, nicht das originale

Oder liege ich falsch?

Ich denke, es wäre besser direkt in lesbare Readings zu mappen, z.B. nrg_0:V auf L1
Das ganze wie in der API von e-Go beschrieben.
Das müsste schon klappen, denn das ist ein loop über die keys vom Ausgangshash, und das ganze wird in einen neuen Hash geschrieben, Überschneidungen sollte es daher nicht geben können.

Das ganze in lesbarere Readings zu überführen halte ich aber für eine gute Idee...

@Rudi: Ob es sowas wie einen "general-Schalter" braucht, um die binäre Zählweise zu erzwingen? Bin unsicher, ist vermutlich/hoffentlich eher ein Übergangsthema.
Titel: Antw:"Falsche" Readings im go-eCharger mit MQTT
Beitrag von: rudolfkoenig am 06 November 2020, 10:03:05
Ich wuerde lieber die Anzahl der Attribute minimieren, und die Daten "richtig" benennen.
Aber ohne konkretes Wissen um den Eingang ist das reine Theorie.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 10:12:59
Habe jetzt (erstmal) die Readings zu lesbaren Namen gemappt.

@Rudi: was genau kan nich dir hier liefern und wie?


Hab gerade noch ein Thema mit dem go-eCharger gefunden. Im Log steht häufig folgendes:

2020.11.06 09:13:27 1: ERROR: Unhandled packet CONNACK, disconneting myBroker_192.168.0.81_54840
2020.11.06 09:12:01 1: ERROR: Unhandled packet PUBCOMP, disconneting myBroker_192.168.0.81_49482
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 06 November 2020, 10:34:23
Ein paar "Roh-Messages" wären hilfreich. Am einfachsten den betreffenden Topic entweder als rawEvent an deinem IO freigeben und den Event-Monitor entsprechend beschränken, oder du machst einen _zusätzlichen_ Eintrag in der readingList und loggst kurz die Daten, Format in diese Richtung:
BASE_ID/DEVNAME/status:.* rawEVENT\

Das Ding ist übrigens ziemlich geschwätzig, jedenfalls lt. API-Beschreibung: https://go-e.co/wp-content/uploads/2020/04/api.pdf (alle 5 Sek)
Das "schreit" geradezu nach eocr&Co. oder einer entsprechenden "Vorbehandlung" via Perl. Leider war die Rückmeldung zu dem attrTemplate-Vorschlag bisher eher mau (https://forum.fhem.de/index.php/topic,105457.0.html - da sind auch weder Message-Daten noch Readings zu sehen), da gibt es sicher "room for improvement"...
Titel: Antw:"Falsche" Readings im go-eCharger mit MQTT
Beitrag von: rudolfkoenig am 06 November 2020, 10:40:36
Die roh Daten kriegt man mit "attr MQTT_SERVER verbose 5" im FHEM-Log oder mit "attr MQTT2_SERVER rawEvents" als Event. Ansonste interessiert mich das verwendete readingsList Attribut, das kreigt man u.a. mit list oder list -r

Laut Log verwendest Du MQTT2_SERVER: ein CONNACK vom Client zu bekommen ist sehr befremdlich, sowas muss der Server schicken, nachdem der Client CONNECT gesendet hat. PUBCOMP ist QoS 2, das unterstuetz MQTT2 nicht, wenn moeglich, bitte im Client wegkonfigurieren. Oder die Leitung ist nicht "sauber".
Welche MQTT Protokollversion verwendet der Client? FHEM unterstuetzt nur 3.1 und 3.1.1
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 10:52:50
Hier die gewünschten Infos.


Events:
2020-11-06 10:47:33 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201047","rbc":"40","rbt":"59493739","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1322547","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[211,216,216,3,143,0,0,30,0,0,0,311,100,2,27,87],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:47:38 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201047","rbc":"40","rbt":"59500064","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1324407","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[210,216,215,3,142,0,0,30,0,0,0,309,100,0,4,86],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:47:43 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201047","rbc":"40","rbt":"59505102","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1325953","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[209,217,215,3,142,0,0,30,0,0,0,308,100,2,14,84],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:47:48 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201047","rbc":"40","rbt":"59510175","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1327501","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[210,217,214,3,143,0,0,30,0,0,0,310,100,6,2,88],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:47:53 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201047","rbc":"40","rbt":"59515215","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1329049","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[210,217,215,3,143,0,0,30,0,0,0,310,100,10,13,90],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:47:58 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201047","rbc":"40","rbt":"59520251","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1330908","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[209,216,215,3,142,0,0,30,0,0,0,308,100,2,3,88],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:48:03 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201048","rbc":"40","rbt":"59525293","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1332453","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[209,216,215,3,143,0,0,30,0,0,0,308,100,14,4,85],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:48:08 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201048","rbc":"40","rbt":"59530340","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1333991","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[209,216,215,3,142,0,0,30,0,0,0,306,100,1,2,84],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:48:13 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201048","rbc":"40","rbt":"59535353","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1335527","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[209,216,215,3,143,0,0,30,0,0,0,308,100,3,5,84],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020-11-06 10:48:18 MQTT2_SERVER myBroker go-eCharger/002227/status:{"version":"B","tme":"0611201048","rbc":"40","rbt":"59540425","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"24","dws":"1337067","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[209,216,215,3,143,0,0,30,0,0,0,308,100,0,14,88],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               


Log (ungefiltert auf den Charger):
2020.11.06 10:49:32 5: out: PINGRESP: (208)(0)
2020.11.06 10:49:32 4:   myBroker_192.168.0.197_51970 DVES_E895AC PINGREQ
2020.11.06 10:49:32 5: in:  PINGREQ: (192)(0)
2020.11.06 10:49:32 5: myBroker: dispatch autocreate=simple\000DVES_C5323A\000tele/tasmota/SENSOR\000{"Time":"2020-11-06T10:49:32","DS18B20-1":{"Id":"01145E8568CD","Temperature":50.4},"DS18B20-2":{"Id":"01145E93DA13","Temperature":48.2},"TempUnit":"C"}
2020.11.06 10:49:32 4:   myBroker_192.168.0.48_57295 DVES_C5323A PUBLISH tele/tasmota/SENSOR:{"Time":"2020-11-06T10:49:32","DS18B20-1":{"Id":"01145E8568CD","Temperature":50.4},"DS18B20-2":{"Id":"01145E93DA13","Temperature":48.2},"TempUnit":"C"}
2020.11.06 10:49:32 5: in:  PUBLISH: 0(172)(1)(0)(19)tele/tasmota/SENSOR{"Time":"2020-11-06T10:49:32","DS18B20-1":{"Id":"01145E8568CD","Temperature":50.4},"DS18B20-2":{"Id":"01145E93DA13","Temperature":48.2},"TempUnit":"C"}
2020.11.06 10:49:32 5: myBroker: dispatch autocreate=simple\000DVES_C5323A\000tele/tasmota/STATE\000{"Time":"2020-11-06T10:49:32","Uptime":"61T02:05:39","UptimeSec":5277939,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":314,"Wifi":{"AP":1,"SSId":"qfIOT","BSSId":"78:8A:20:2A:82:09","Channel":3,"RSSI":56,"Signal":-72,"LinkCount":48,"Downtime":"0T00:30:14"}}
2020.11.06 10:49:32 4:   myBroker_192.168.0.48_57295 DVES_C5323A PUBLISH tele/tasmota/STATE:{"Time":"2020-11-06T10:49:32","Uptime":"61T02:05:39","UptimeSec":5277939,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":314,"Wifi":{"AP":1,"SSId":"qfIOT","BSSId":"78:8A:20:2A:82:09","Channel":3,"RSSI":56,"Signal":-72,"LinkCount":48,"Downtime":"0T00:30:14"}}
2020.11.06 10:49:32 5: in:  PUBLISH: 0(170)(2)(0)(18)tele/tasmota/STATE{"Time":"2020-11-06T10:49:32","Uptime":"61T02:05:39","UptimeSec":5277939,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":314,"Wifi":{"AP":1,"SSId":"qfIOT","BSSId":"78:8A:20:2A:82:09","Channel":3,"RSSI":56,"Signal":-72,"LinkCount":48,"Downtime":"0T00:30:14"}}
2020.11.06 10:49:30 5: myBroker: dispatch autocreate=simple\000DVES_E895AC\000tele/outlander/SENSOR\000{"Time":"2020-11-06T10:49:30","ENERGY":{"TotalStartTime":"2018-11-21T16:19:01","Total":374.658,"Yesterday":0.000,"Today":0.453,"Power":56,"ApparentPower":95,"ReactivePower":77,"Factor":0.58,"Voltage":229,"Current":0.416}}
2020.11.06 10:49:30 4:   myBroker_192.168.0.197_51970 DVES_E895AC PUBLISH tele/outlander/SENSOR:{"Time":"2020-11-06T10:49:30","ENERGY":{"TotalStartTime":"2018-11-21T16:19:01","Total":374.658,"Yesterday":0.000,"Today":0.453,"Power":56,"ApparentPower":95,"ReactivePower":77,"Factor":0.58,"Voltage":229,"Current":0.416}}
2020.11.06 10:49:30 5: in:  PUBLISH: 0(244)(1)(0)(21)tele/outlander/SENSOR{"Time":"2020-11-06T10:49:30","ENERGY":{"TotalStartTime":"2018-11-21T16:19:01","Total":374.658,"Yesterday":0.000,"Today":0.453,"Power":56,"ApparentPower":95,"ReactivePower":77,"Factor":0.58,"Voltage":229,"Current":0.416}}
2020.11.06 10:49:29 5: out: PINGRESP: (208)(0)
2020.11.06 10:49:29 4:   myBroker_192.168.0.188_50995 DVES_005D20 PINGREQ
2020.11.06 10:49:29 5: in:  PINGREQ: (192)(0)
2020.11.06 10:49:29 5: out: PINGRESP: (208)(0)
2020.11.06 10:49:29 4:   myBroker_192.168.0.62_51320 DVES_DF677B PINGREQ
2020.11.06 10:49:29 5: in:  PINGREQ: (192)(0)
2020.11.06 10:49:29 5: myBroker: dispatch autocreate=simple\000DVES_E895AC\000tele/outlander/SENSOR\000{"Time":"2020-11-06T10:49:29","ENERGY":{"TotalStartTime":"2018-11-21T16:19:01","Total":374.658,"Yesterday":0.000,"Today":0.453,"Power":0,"ApparentPower":95,"ReactivePower":95,"Factor":0.00,"Voltage":229,"Current":0.416}}
2020.11.06 10:49:29 4:   myBroker_192.168.0.197_51970 DVES_E895AC PUBLISH tele/outlander/SENSOR:{"Time":"2020-11-06T10:49:29","ENERGY":{"TotalStartTime":"2018-11-21T16:19:01","Total":374.658,"Yesterday":0.000,"Today":0.453,"Power":0,"ApparentPower":95,"ReactivePower":95,"Factor":0.00,"Voltage":229,"Current":0.416}}
2020.11.06 10:49:29 5: in:  PUBLISH: 0(243)(1)(0)(21)tele/outlander/SENSOR{"Time":"2020-11-06T10:49:29","ENERGY":{"TotalStartTime":"2018-11-21T16:19:01","Total":374.658,"Yesterday":0.000,"Today":0.453,"Power":0,"ApparentPower":95,"ReactivePower":95,"Factor":0.00,"Voltage":229,"Current":0.416}}
2020.11.06 10:49:28 5: myBroker: dispatch autocreate=simple\000go_eCharger_002227_40\000go-eCharger/002227/status\000{"version":"B","tme":"0611201049","rbc":"40","rbt":"59610913","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1358674","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[210,215,215,3,143,0,0,30,0,0,0,310,100,2,4,89],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020.11.06 10:49:28 4:   myBroker_192.168.0.81_51038 go-eCharger:002227:40 PUBLISH go-eCharger/002227/status:{"version":"B","tme":"0611201049","rbc":"40","rbt":"59610913","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1358674","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[210,215,215,3,143,0,0,30,0,0,0,310,100,2,4,89],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020.11.06 10:49:28 5: in:  PUBLISH: 0(201)(8)(0)(25)go-eCharger/002227/status{"version":"B","tme":"0611201049","rbc":"40","rbt":"59610913","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"23","dws":"1358674","dwo":"0","adi":"1","uby":"0","eto":"40480","wst":"3","txi":"2","nrg":[210,215,215,3,143,0,0,30,0,0,0,310,100,2,4,89],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}                                               
2020.11.06 10:49:28 5: out: PINGRESP: (208)(0)


readingList:
go-eCharger/002227/status:.* { json2nameValue($EVENT,'',$JSONMAP) }
  go-eCharger/002227/ip:.* { json2nameValue($EVENT) }
go_eCharger_002227_39:7/status\x7b\x22version\x22_\x22B\x22\x2c\x22tme\x22_\x220511201641\x22\x2c\x22rbc\x22_:.* 7_status__version___B___tme___0511201641___rbc__
go_eCharger_002227_39:status\x7b\x22version\x22_\x22B\x22\x2c\x22tme\x22_\x220511201651\x22\x2c\x22rbc\x22_\x223:.* status__version___B___tme___0511201651___rbc___3
go_eCharger_002227_39:rbt\x22_\x2263562864\x22\x2c\x22car\x22_\x221\x22\x2c\x22amp\x22_:.* rbt___63562864___car___1___amp__
go_eCharger_002227_39:7/status\x7b\x22version\x22_\x22B\x22\x2c\x22tme\x22_\x220511201730\x22\x2c\x22rbc\x22_:.* 7_status__version___B___tme___0511201730___rbc__


Und ja, das Ding ist sehr sehr gesprächig.
Gibt es da eine Möglichkeit das einzudämmen?
Titel: Antw:"Falsche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 10:56:08
Zitat von: rudolfkoenig am 06 November 2020, 10:40:36
Laut Log verwendest Du MQTT2_SERVER: ein CONNACK vom Client zu bekommen ist sehr befremdlich, sowas muss der Server schicken, nachdem der Client CONNECT gesendet hat. PUBCOMP ist QoS 2, das unterstuetz MQTT2 nicht, wenn moeglich, bitte im Client wegkonfigurieren. Oder die Leitung ist nicht "sauber".
Welche MQTT Protokollversion verwendet der Client? FHEM unterstuetzt nur 3.1 und 3.1.1

Ja, nutze den MQTT2_Server.
Am Client kann man rein gar nichts konfigurieren.
Welche Version das ist steht leider auch nicht in der Doku, da müsste ich den Hersteller mal anfragen.

EDIT: jetzt wo ich die readingList so sehe fällt mir auf, dass dort noch ein paar "merkwürdige" Einträge drinnen sind
go_eCharger_002227_39:7/status\x7b\x22version\x22_\x22B\x22\x2c\x22tme\x22_\x220511201641\x22\x2c\x22rbc\x22_:.* 7_status__version___B___tme___0511201641___rbc__

Habe da sogar noch ein zweites Device über Autocreate bekommen?

Anscheinend ist die MQTT Implementierung von go-e nicht wirklich sauber.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: rudolfkoenig am 06 November 2020, 11:32:31
Danke fuer die Roh-Daten, da faellt mir leider auch nur der Vorschlag von Beat-User mit jsonMap ein.

ZitatGibt es da eine Möglichkeit das einzudämmen?
Da Du auf dem Geraet nichts konfigurieren kannst, bleibt nur "Ohren-zuhalten" mit dem event-on-attr-change (aka eocr) Attribut, und dessen Verwandten.

ZitatEDIT: jetzt wo ich die readingList so sehe fällt mir auf, dass dort noch ein paar "merkwürdige" Einträge drinnen sind
Zurueckuebersetzt von der Hex-Notation waere das der Topic /status{"version"_"B","tme"_"0511201641","rbc"_

Zusammen mit den anderen Meldungen vermute ich, dass der FHEM-MQTT-Parser die Daten nicht komplett mitkriegt. Spannend ist jetzt rauszukriegen, wer fuer die fehlenden Daten verantwortlich ist (Firmware/Uebertragung/FHEM), und warum. Habe leider keine anfaengerfreundliche Debug-Moeglichkeit, ich selbst wuerde den TCP-Strom mit einem tcptee (z.Bsp. contrib/tcptee.pl + telnet) protokollieren.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 06 November 2020, 11:45:41
Hm, das mit dem autocreate/der kaputten readingList kommt mir wie ein Verwandter von https://forum.fhem.de/index.php/topic,114911.0.html vor. Hast du eine stabile Verbindung zu dem Charger oder wackeliges WLAN/PowerLAN?

Das mit der Geschwätzigkeit scheint sich nicht auf der Client-Seite einstellen zu lassen (Mist!).
Um das auf der FHEM-Seite zu verbessern, gibt es mehrere Möglichkeiten: Entweder du setzt dich vertieft mit event-on-change-reading & Co auseinander. Als Einstieg vielleicht: https://forum.fhem.de/index.php/topic,94060.msg1075460.html#msg1075460. Da  hatte ich zu dem m.E. vergleichbaren Thema Shelly was geschrieben.
Hier würde ich (statt einer Attribut-Orgie) vorschlagen, das ganze über eine myUtils-sub zu lösen, das Skelett könnte aus dem attrTemplate 6channel_ethernet_board_6input_split kommen (iVm. dem, was ich jüngst für die MiLight-Remote (https://forum.fhem.de/index.php/topic,103493.0.html) gepostet hatte), das müßte aber vermutlich etwas komplexer sein, da man m.E. sinnvolle prozentuale Änderungen der einzelnen Werte(-Typen) und "gewisse" regelmäßige updates von Messerten haben will...
Ist aber ein ziemliches "Hash-Umhergeschubse", und am grünen Tisch ist es auch eher schwierig...
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 11:46:25
Zitat von: rudolfkoenig am 06 November 2020, 11:32:31
Danke fuer die Roh-Daten, da faellt mir leider auch nur der Vorschlag von Beat-User mit jsonMap ein.

rawEVENT: {"version":"B","tme":"0611201145","rbc":"40","rbt":"62965430","car":"2","amp":"16","err":"0","ast":"1","alw":"1","stp":"0","cbl":"20","pha":"63","tmp":"22","dws":"1829951","dwo":"0","adi":"1","uby":"0","eto":"40500","wst":"3","txi":"2","nrg":[214,215,213,1,30,0,0,6,0,0,0,65,100,12,4,26],"fwv":"040.0","sse":"002227","wss":"qfIOT","wke":"*************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"40","aho":"3","afi":"7","azo":"0","ama":"16","al1":"0","al2":"0","al3":"0","al4":"0","al5":"0","cid":"255","cch":"16776960","cfi":"65280","lse":"1","ust":"2","wak":"","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"2250","ecr":"130","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"D93F5F02","rcr":"698B6002","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"Markus","rnm":"Simone","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0}               
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 11:50:27
Zitat von: Beta-User am 06 November 2020, 11:45:41
Hm, das mit dem autocreate/der kaputten readingList kommt mir wie ein Verwandter von https://forum.fhem.de/index.php/topic,114911.0.html vor. Hast du eine stabile Verbindung zu dem Charger oder wackeliges WLAN/PowerLAN?

Das mit der Geschwätzigkeit scheint sich nicht auf der Client-Seite einstellen zu lassen (Mist!).
Um das auf der FHEM-Seite zu verbessern, gibt es mehrere Möglichkeiten: Entweder du setzt dich vertieft mit event-on-change-reading & Co auseinander. Als Einstieg vielleicht: https://forum.fhem.de/index.php/topic,94060.msg1075460.html#msg1075460. Da  hatte ich zu dem m.E. vergleichbaren Thema Shelly was geschrieben.
Hier würde ich (statt einer Attribut-Orgie) vorschlagen, das ganze über eine myUtils-sub zu lösen, das Skelett könnte aus dem attrTemplate 6channel_ethernet_board_6input_split kommen (iVm. dem, was ich jüngst für die MiLight-Remote (https://forum.fhem.de/index.php/topic,103493.0.html) gepostet hatte), das müßte aber vermutlich etwas komplexer sein, da man m.E. sinnvolle prozentuale Änderungen der einzelnen Werte(-Typen) und "gewisse" regelmäßige updates von Messerten haben will...
Ist aber ein ziemliches "Hash-Umhergeschubse", und am grünen Tisch ist es auch eher schwierig...

Eigentlich ist die Verbindung über WLAN ziemlich stabil (habe extra einen Access Point im Garten installiert).

Ich werde jetzt erstmal mit event-xxx Attributen spielen.
Die Links schaue ich mir mal an. Aber ein Text dazu geht schon sehr tief (für mein bescheidenes Perl Wissen)
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 06 November 2020, 12:36:22
Zitat von: Mitch am 06 November 2020, 11:50:27
Eigentlich ist die Verbindung über WLAN ziemlich stabil (habe extra einen Access Point im Garten installiert).
::) qed...

Mal schauen, aber ich hege den leisen Verdacht, dass da schon kürzeste Aussetzer zu Problemen führen. Wäre gut, wir könnten das irgendwie abfangen.

ZitatIch werde jetzt erstmal mit event-xxx Attributen spielen.
Die Links schaue ich mir mal an. Aber ein Text dazu geht schon sehr tief (für mein bescheidenes Perl Wissen)
Wenn du eine Art "Übersetzungs-Matrix" lieferst, kann ich versuchen, das mal in Code zu fassen. Die Matrix sollte so aussehen:

- Name des Readings, wie json2nameValue($EVENT) ihn liefert;
- Name des Readings, wie er sein soll (internationalisiert/englisch!);
- Höchstzeit, nach der getriggert werden soll (auch ohne Änderung, keine Angabe: unendlich)
- Schwelle in %, ab der erst ein Event generiert werden soll (Abweichung zum heutigen Reading-Wert)
- Schwelle als Absolutwertabweichung, ab der erst ein Event generiert werden soll (Abweichung zum heutigen Reading-Wert)
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 12:44:03
Zitat von: Beta-User am 06 November 2020, 12:36:22
::) qed...

Mal schauen, aber ich hege den leisen Verdacht, dass da schon kürzeste Aussetzer zu Problemen führen. Wäre gut, wir könnten das irgendwie abfangen.

Ganz ausschließen möchte ich das nicht, weil die Box nur einen ESP hat und der hat nicht so die WLAN Granate ist  :-\
Im Anhang mal die Werte der letzten Nacht. -75dB sind jetzt nicht der Wahnsinn, aber zumindest ist das Signal stabil.

Zitat von: Beta-User am 06 November 2020, 12:36:22
Wenn du eine Art "Übersetzungs-Matrix" lieferst, kann ich versuchen, das mal in Code zu fassen. Die Matrix sollte so aussehen:

- Name des Readings, wie json2nameValue($EVENT) ihn liefert;
- Name des Readings, wie er sein soll (internationalisiert/englisch!);
- Höchstzeit, nach der getriggert werden soll (auch ohne Änderung, keine Angabe: unendlich)
- Schwelle in %, ab der erst ein Event generiert werden soll (Abweichung zum heutigen Reading-Wert)
- Schwelle als Absolutwertabweichung, ab der erst ein Event generiert werden soll (Abweichung zum heutigen Reading-Wert)

Okay, schau ich mir am WE mal in Ruhe an und schreibe was.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 13:09:52
Hier noch die Antworten von go-e:

Der Charger verwendet MQTT-Version 3.1.1
bzgl. CONNACK: Ein solcher Fehler ist uns nicht bekannt. Wissen Sie bereits wodurch dieser verursacht wird bzw. haben Sie einen Verdacht?
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 16:00:24
Zitat von: Beta-User am 06 November 2020, 12:36:22
- Name des Readings, wie json2nameValue($EVENT) ihn liefert;
- Name des Readings, wie er sein soll (internationalisiert/englisch!);

Ich habe mal die API abgetippt und entsprechende mapping gemacht (siehe auch XLS im Anhang):

version:version rbc:reboot_counter rbt:reboot_timer car:car amp:ampere err:error ast:access_state alw:allow_charging stp:stop_state cbl:cable_code pha:phase tmp:temperature dws:deca_watt_sec dwo:stop_energy adi:adapter_in uby:unlocked_by eto:energy_total wst:wifi_state nrg_1:voltage_l1 nrg_2:voltage_l2 nrg_3:voltage_l3 nrg_4:voltage_n nrg_5:ampere_l1 nrg_6:ampere_l2 nrg_7:ampere_l3 nrg_8:power_l1 nrg_9:power_l2 nrg_10:power_l3 nrg_11:power_n nrg_12:power_total nrg_13:power_factor_l1 nrg_14:power_factor_l2 nrg_15:power_factor_l3 nerg_16:power_factor_n fwv:firmware_version sse:serial_number wss:wifi_ssid wke:wifi_key wen:wifi_enabled tof:time_offset tds:daylight_saving_offset lbr:led_brightness aho:hours_charging afi:time_charging azo:awattar_zone ama:max_ampere al1:ampere_level1 al2:ampere_level2 al3:ampere_level3 al4:ampere_level4 al5:ampere_level5 cid:color_idle cch:color_charging cfi:color_charging_done lse:led_save_energy ust:unlock_state wak:wifi_hotspot_key r1x:flags dto:remaining_time nmo:norway_mode eca:rfid1_energy ecr:rfid2_energy ecd:rfid3_energy ec4:rfid4_energy ec5:rfid5_energy ec6:rfid6_energy ec7:rfid7_energy ec8:rfid8_energy ec9:rfid9_energy ec1:rfid10_energy rca:rfid1_id rcr:rfid2_id rcd:rfid3_id rc4:rfid4_id rc5:rfid5_id rc6:rfid6_id rc7:rfid7_id rc8:rfid8_id rc9:rfid9_id rc1:rfid10_id rna:rfid1_name rnm:rfid2_name rne:rfid3_name rn4:rfid4_name rn5:rfid5_name rn6:rfid6_name rn7:rfid7_name rn8:rfid8_name rn9:rfid9_name rn1:rfid10_name tme:time sch:scheduler sdp:scheduler_double_press upd:update_available cdi:cloud_disabled loe:loadmanagement_enabled lot:loadmanagement_total_ampere lom:loadmanagement_min_ampere lop:loadmanagement_priority log:loadmanagement_group_id lon:loadmanagement_number_charger lof:loadmanagement_fallback_ampere loa:loadmanagement_ampere lch:loadmanagement_seconds_power mce:mqtt_enabled mcs:mqtt_server mcp:mqtt_port mcu:mqtt_username mck:mqtt_key mcc:mqtt_connected

Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 06 November 2020, 17:07:24
Oh yeah, das ist ja gruselig...

Eigentlich sollte man die Jungs da bei go-e fragen, ob die nicht eine etwas weniger gesprächige firmware liefern können, alle 5 Sekunden die WiFi-SSID, das braucht m.E. kein Mensch... Sowas will man doch nur wissen, wenn es sich ändert, und meinetwegen beim Starten der Box oder was auch immer das ist >:( .

Na ja, wie dem auch sei, anbei der Versuch, das, was json2NameValue() mit Hilfe von jsonMap macht, sowie einen Teil der (bisherigen) userReadings in Code zu verlagern - das kommt "ganz normal" in das Modulverzeichnis (typ. opt/fhem/FHEM).

Kann aber sein, dass da ggf. eine ganze Anzahl Denkfehler drin sind, aber zumindest einen kurzen Test hat es überstanden, das passende Device sieht so aus:
defmod go_echarger MQTT2_DEVICE go-echarger
attr go_echarger IODev m2server
attr go_echarger readingList go-eCharger/002227/status:.* { FHEM::attrT_go_e_Utils::j2rN_extended("go_echarger",$EVENT) }
attr go_echarger room MQTT2_DEVICE


Tendenziell würde ich jetzt ein weiteres Reading anlegen, das den Zeitpunkt der letzten vollständigen Aktualisierung enthält und erst mal alle "Neben-Readings" verwerfen, die jünger sind wie z.B. eine Stunde. Nach Ablauf der Zeit dann einen vollst. Check, ob es Änderungen gab und alles verwerfen, was nicht geändert war (oder von vorneherein gar keinen Wert enthält...) und das "Zeit-Reading" neu setzen.

Für die relativen Vergleiche der Hauptreadings sind ein paar Funktionen vorbereitet, aber die eigentliche Prüfschleife dazu müßte man erst noch bauen. Vielleicht findet sich auch ein Mitstreiter dafür, aus der Ferne ist das nicht so einfach, und über einige interne Abhängigkeiten und Effizienzfragen müßte man auch noch brüten, und die commandref überlasse ich dann definitiv euch...
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 06 November 2020, 17:31:52
Wow, das ging aber schnell! Danke!

Ich werde das heute Abend, oder am WE in meine Testumgebung einbauen und testen.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: ZeitlerW am 09 November 2020, 08:40:21
Hallo zusammen,

ich hänge mich mal an das Thema ran.

@Beta-User

Vielen Dank für das Script. Das sieht sehr gut aus!

lG
Wolfgang
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 09 November 2020, 09:50:09
Zitat von: ZeitlerW am 09 November 2020, 08:40:21
Vielen Dank für das Script. Das sieht sehr gut aus!
Danke für die Rückmeldung

...ist halt noch nicht fertig...

Als erstes sollte man mal den key mit dem WLAN-Passwort löschen (wer versendet denn sowas...?!?).

Ansonsten wäre die Frage, ob ihr das erweitern könnt, oder welche Hilfestellungen wer dazu benötigt?
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 09 November 2020, 10:46:55
So, Test war erstmal positiv.
Einzig "Car" habe ich geändert, ich brauche die Zahlen. Da hängen DOIFs und StateIcon dran.

Aber an der Geschwätzigkeit hat sich (noch) nichts geändert.

Der Key wird ja immer vom Charger mitgeschickt, aber nicht in klar: *************

Ein "Fehler" ist mir mit nrg_16 aufgefallen.
Das gibt es ja eigentlich nicht, aber da nrg nicht mit 0 anfängt, muss das alles nach hinten geschoben werden.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 09 November 2020, 11:08:49
OK, dann hier noch eine Iteration weiter:
attr go_echarger readingList go-eCharger/002227/status:.* { FHEM::attrT_go_e_Utils::j2rN_extended($NAME,$EVENT,1) }
Die "1" bewirkt, dass der Status als Zahl erhalten bleibt...

Ansonsten habe ich den - wg. der Anonymisierung dann sowieso völlig kaum mehr verständlichen - Wifi-key mal rausgeslöscht und eine Schleife eingebaut, die alle keys ignoriert, die einen leeren Value zugeordnet haben. Könnte man bei Bedarf eine Positiv-Liste dazubasteln.

@Rudi: Es wäre nett, wenn du ggf. auch hin und wieder mal einen kritischen Blick auf den Code zwecks Optimierung etc. werfen würdest. Das könnte eine Art Prototyp für eine ganze Anzahl ähnlicher "Problemlöser" werden (Stichworte: ems-esp, ebus und sonos2mqtt).
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 09 November 2020, 11:25:09
sieht gut aus, Danke!

Was man noch machen könnte (ich hatte dazu userreadings) sind Umrechnungen
z.B. time 0911201121 oder reboot_timer 320804491

Wobei mir gerade auffällt, der reboot_timer Wert kommt alle 5 Sek.
Ich denke, den könnte man komplett löschen.

EDIT: nrg_16 ist noch da  ;) da ist ein Tippfehler meinerseits drinnen:     "nerg_16" => "power_factor_n",
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 09 November 2020, 11:55:01
Hier noch ein Logauszug:
2020.11.09 11:17:31 1: ERROR: Unhandled packet CONNACK, disconneting myBroker_192.168.0.81_61324
2020.11.09 11:17:31 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at (eval 42172) line 1.
2020.11.09 11:17:31 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at (eval 42171) line 1.
2020.11.09 11:17:31 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at (eval 42170) line 1.
2020.11.09 11:16:13 1: ERROR: Unhandled packet PUBREL, disconneting myBroker_192.168.0.81_55590
2020.11.09 11:15:02 1: ERROR: Unhandled packet PUBCOMP, disconneting myBroker_192.168.0.81_63255
2020.11.09 11:14:44 1: PERL WARNING: Subroutine j2rN_extended redefined at ./FHEM/99_attrT_go_e_Utils.pm line 166.
2020.11.09 11:14:44 1: PERL WARNING: Subroutine compRel redefined at ./FHEM/99_attrT_go_e_Utils.pm line 255.
2020.11.09 11:14:44 1: PERL WARNING: Subroutine compAbs redefined at ./FHEM/99_attrT_go_e_Utils.pm line 247.
2020.11.09 11:14:44 1: PERL WARNING: Subroutine Initialize redefined at ./FHEM/99_attrT_go_e_Utils.pm line 35.
2020.11.09 11:14:44 1: PERL WARNING: Subroutine main::attrT_go_e_Utils_Initialize redefined at ./FHEM/99_attrT_go_e_Utils.pm line 32.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: ZeitlerW am 09 November 2020, 12:04:09
Hallo zusammen,

ich hätte da noch eine Aktualisierung für die %jsonmap

    "tma_1" => "internal_temperature_sensor_1",
    "tma_2" => "internal_temperature_sensor_2",
    "tma_3" => "internal_temperature_sensor_3",
    "tma_4" => "internal_temperature_sensor_4",
    "amt" => "max_ampere_temperature"


Bei nrg_16 ist ein Typo in der %jsonmap muss heißen:

    "nrg_16" => "power_factor_n",


lG
Wolfgang
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: rudolfkoenig am 09 November 2020, 12:07:28
ZitatHier noch ein Logauszug:
Das sind mehrere Probleme, und es ist nicht sinnvoll, alles hier zusammen in einem Thread zu diskutieren:
- "unhandled packet": (wie oben geschrieben) Netzwerk-,Firmware-, oder FHEM-Problem. Es hilft nicht sie hier zu wiederholen, ich brauche einen TCP-Log, am besten eine Minute vor dem Problem bis zum Problemfall, um zu entscheiden, ob FHEM Muell baut, oder ob die Daten schon kaputt ankommen.
- "isn't numeric": mit "attr global stacktrace" kriegt man raus, woran da liegt, kann auch was ganz anderes sein.
- "redefined": das ist normal, wenn man ein Modul wieder in FHEM laedt.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 09 November 2020, 12:31:41
So, hoffe, (fast) alles aufgegriffen zu haben.
Es spricht aus meiner Sicht nichts dagegen, wenn ihr den Code selbst entsprechend aufbohrt bzw. korrigiert und dann das Ergebnis postet/konsolidiert ;) .

Das mit der Umrechnung wäre z.B. auch kein großes Thema, aber ohne den userReadings-Code habe ich auch nicht die rechte Lust zu raten, wie die Umrechnung denn jetzt korrekterweise vorzunehmen wäre.

Wenn es nach mir geht, wäre das hier vorläufig die letzte Version, die ich hier im Alleingang poste, jetzt wärt ihr mal dran, es sollte in dem "framework" jetzt eigentlich alles an Tools drin sein, was man so braucht, einschließlich der _Vorbereitung_ einer "hourly"-Aktualisierung (kann man auf andere "Schlüsselworte" ausweiten, wenn man das braucht)...
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 09 November 2020, 12:43:43
Sorry, in der Vorversion war noch ein Rest von einem etwas anderen Ansatz des Löschens drin; bitte an den einen, der das schon runtergeladen hatte, die neue aus dem Vorpost zu nehmen...
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Mitch am 09 November 2020, 13:06:56
Danke!

Ich habe noch zwei Werte rausgenommen:
  "always"  => ["wifi_key","reboot_timer","loadmanagement_seconds_power","time"],

Was noch genial wäre, wenn man irgendwo ein Wert für die Readings eingeben könnte. So wie jetzt always und hourly.
Leider sind meine Perl-Kenntnisse dazu nicht gut genug  :-[

z.B. würde es reichen, die Werte für voltage_lx nur alle 5 Minuten zu schreiben.
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 09 November 2020, 14:29:23
Hmm, also...

Jetzt habe ich noch zwei "Zeitschleifen" dazu gebastelt, und hoffe, damit haben wir das Spielmaterial jetzt wirklich beieinander:
- Die Zeiten sollten einstellbar sein, das war die Absicht hinter dem %toCompare und dem Ergänzen dieses Hashes mit Parametern aus dem Funktionsaufruf (default sind 10 Minuten);
- bei den "stündlichen" habe ich das weiter dahingehend eingeschränkt, dass nur Events kommen, wenn es da Änderungen gab, die Kombination ist aber ein logisches UND, was für diese Art Readings ok ist, aber nicht einfach so für andere übernommen werden sollte;
- erstmals berücksichtigt sind absolute bzw. relative Vergleiche in der "voltage"-Schleife. Falls das aus eurer Sicht tauglich ist, müßte man das dann noch für die anderen Typen ergänzen bzw. ändern, indem man die Verweise auch in %toCompare ergänzt. Hier ist es ein logisches "oder", womit sich die Frage stellt, ob man das für den anderen Fall (Zeit ist abgelaufen) ganz oder in Teilen dann weiter mit einer "eocr"-Logik einschränken möchte oder nicht.

Sieht zwar recht abstrakt aus, aber ich hoffe, ihr könnt euch halbwegs in dem Code orientieren...?
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: rudolfkoenig am 09 November 2020, 21:50:20
Zitat@Rudi: Es wäre nett, wenn du ggf. auch hin und wieder mal einen kritischen Blick auf den Code zwecks Optimierung etc. werfen würdest.
Bin nicht sicher, ob ich fuer solche Aufgaben der Richtige bin.
Es ist vermutlich noch Work-in-Progress, sonst waere die letzte Schleife nicht ganz leer.
Ansonsten habe ich nichts zu bemaengeln, nur dass die Doku nicht zum Code passt. :)
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 10 November 2020, 10:57:00
Danke auf alle Fälle für's feedback, und Doku hatte ich ja schon angemerkt, dass das bitte dann jemand anderes machen sollte - sonst wird es eben nicht eingeckeckt...
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: ZeitlerW am 17 November 2020, 14:46:28
Hallo Beta-User,

ich werde mich um die Optimierung (oder auch Weiterentwicklung) für das Modul kümmern, soweit dies um die Funktion der Ladebox geht. Für die Json / MQTT2 spezifischen Themen und dem Check in würde ich mich freuen  wenn Du mich unterstützen könntest.

Viele Grüße
Wolfgang
Titel: Antw:"Flasche" Readings im go-eCharger mit MQTT
Beitrag von: Beta-User am 17 November 2020, 14:53:35
Gerne, klingt nach einer guten Arbeitsteilung :) .

Was mir im Nachgang noch eingefallen war: vor den Checks auf Veränderung sollte man vermutlich noch einen auf "identisch" einbauen; wenn der "zuschlägt", braucht man nämlich gar nicht mehr rechnen, was (im Ergebnis häufig) deutlich schneller sein dürfte.

Ansonsten liest hier ja auch Rudi mit, falls spezifische Fragen auftreten; ich bin eigentlich auch nicht der Experte, was "hash-Schubsen" angeht...