Verschlüsselten Stromzähler AM550 mit Tasmota auslesen

  • Hi, versuche einen Iskra AM550 Smartmeter mit Tasmota auszulesen (V. 13.1 aus Esp8266-01S). Zähler (Wiener Netze) ist freigeschaltet und sollte 9 Variable übertragen, ich habe den 32 Zeichen langen Schlüssel. Funktioniert soweit, als dass dekodierte Blöcke zu sehen sind, die aber nicht dem üblichen Muster zuordenbar sind. Es werden keine Werte der Ausgabe zugeordnet, alles 0.

    Es wird mit RAW ausgelesen, das sollte eigenlich bei diesem Zähler funktionieren, mit diesem Skript hat schon jemand einen AM550 erfolgreich ausgelesen. Aber es gibt z.B. keine Sequenz mit "7e a0" Versuch mit "+1,3,s " und "+1,3,o " ebenfalls kein Erfolg. Wenn ich es richtig verstanden habe, müßte ich ja im Skript die Sequenz eingeben, welche den gewünschten Messwerten vorangeht.


    Skript:

    >D

    >B

    =>sensor53 r

    >M 1

    +1,3,r,0,9600,AM550,1,100,2F3F210D0A

    1,=so3,256

    1,=so4,--- 32 byte key ---

    1,020909x2UUuuUUuu@1000,time,,timestamp,0

    1,020909x14UUuuUUuu@1000,Zählerstand,kWh,Zaehlerstand,2

    1,020909x34UUuuUUuu@1000,Bezug aktuell,kwh,Bezug,3

    1,020909x19UUuuUUuu@1000,Einspeisung Gesamt,kWh,Einspeisung_ges,2

    1,020909x39UUuuUUuu@1000,Einspeisung aktuell ,kW,Einspeisung_akt,3

    1,020909x24UUuuUUuu@1000,BL Bezug,kvarh,BL_Bezug,3

    1,020909x29UUuuUUuu@1000,BL Einspeisung,kvarh,BL_Einspeisung,3

    #


    dekodierter Block:

    21:33:09.671 SML: decrypted block: 256 bytes

    21:33:09.673 :>e6 fd 7f f8 ff fc fc ff ff ff fe ff fc ff f8 7f

    21:33:09.675 :>f0 f8 f8 e7 50 00 1e 46 d7 4c 4f 2d 1c 00 50 10

    21:33:09.676 :>f0 fa 6c 37 00 00 50 4f 53 54 20 2f 74 61 20 48

    21:33:09.678 :>54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 31

    21:33:09.680 :>39 32 2e 31 36 38 2e 31 30 32 2e 31 39 39 0d 0a

    21:33:09.682 :>55 73 65 72 2d 41 67 65 6e 74 3a 20 4d 6f 7a 69

    21:33:09.683 :>6c 6c 61 2f 35 2e 30 20 28 57 69 6e 64 6f 77 73

    21:33:09.685 :>20 4e 54 20 31 30 2e 30 3b 20 57 69 6e 36 34 3b

    21:33:09.687 :>20 78 36 34 3b 20 72 76 3a 31 30 39 2e 30 29 20

    21:33:09.689 :>47 65 63 6b 6f 2f 32 30 31 30 30 31 30 31 20 46

    21:33:09.691 :>69 72 65 66 6f 78 2f 31 31 39 2e 30 0d 0a 41 63

    21:33:09.693 :>63 65 70 74 3a 20 74 65 78 74 2f 68 74 6d 6c 2c

    21:33:09.695 :>61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d

    21:33:09.697 :>6c 2b 78 6d 6c 2c 61 70 70 6c 69 63 61 74 69 6f

    21:33:09.699 :>6e 2f 78 6d 6c 3b 71 3d 30 2e 39 2c 69 6d 61 67

    21:33:09.701 :>65 2f 61 76 69 66 2c 69 6d 61 67 65 2f 77 65 62


    Irgend welche Tips?


    Update: Aus welchem Grund auch immer wurde der Sicherheitsschlüssel seit gestern geändert! Neu eingetragen ergibt sich folgende Ausgabe:

    00:33:52.952 :>02 09 09 0c 07 e7 0b 0f 03 00 21 37 01 ff c4 00

    00:33:52.954 :>06 00 19 cc 98 06 00 00 85 ff 06 00 00 39 53 06

    00:33:52.957 :>00 09 a5 71 06 00 00 01 2b 06 00 00 00 00 06 00

    00:33:52.959 :>00 00 00 06 00 00 00 a6

    00:33:52.998 :>00 00 00 06 00 00 00 a6

    ... und die Anzeige im Tasmota-Main funktioniert!

  • Ja, ich habe im Moment den TX Teil (alles nach "...,AM550, ") deaktiviert, geht auch ohne. War ein wenig haarig alles zu verstehen, hab immer nach den "7e" Einträgen gesucht. Wenn man die Zeile mit dem Smartmeter key auskommentiert z.B. so: ;1,=so4,smartmeterkey, dann sieht man 7e a0 ... 7e, aber es ist verschlüsselt. Wenn die Zeile mit so4 aktiviert wird, dann schauen die Daten so aus wie im letzten Block oben "02 09 09 ..."

    Noch was: kurz hat es mit einem ESP8266-01S 1MB funktioniert, hat aber andauernd resettet. Mit einem Wemos mit 4MB läuft es jetzt seit 1 Tag stabil. Würde gerne Uhrzeit und Datum der eingelesenen Daten anzeigen (nicht den internen tstamp), so würde es ja gehen und wird im Hauptmenü auch dynamisch aktualisiert:

    1,020909x1SSss@1,year,,year,0

    1,020909x3ss@1,month,,month,0

    1,020909x4ss@1,day,,day,0

    1,020909x6ss@1,hh,,hh,0

    1,020909x7ss@1,mm,,mm,0

    1,020909x8ss@1,ss,,ss,0

    aber ich hätte es lieber kompakter wie einen timestamp in einer Zeile. Kann man das ohne LF CR ausgeben?

  • Wiener Netze bekommst Du per Post einen Zugangsschlüssel für das Portal und dort kann man den Smartmeterkey runterladen, 2 Tage vorher war es aber ein komplett anderer (copy and paste, also kein Tippfehler). Der jetzige scheint korrekt zu sein, geht immer noch.

  • Um die 8-stellgige SM-ID zu extrahieren kann folgendes Konstrukt mit 2 bcd var in SML dienen.

    (Dank an gemu2015 für die Tipps)