TechemHKV: Empfang von WMBUS Nachricht, aber keine HKV Information

Begonnen von Finswimmer, 11 Juli 2019, 14:50:47

Vorheriges Thema - Nächstes Thema

Finswimmer

Hallo,

ich bin neu hier, habe aber schon etwas länger mitgelesen.
Ich habe ein nanoCUL, das ich selbst flashen musste, damit ich WMBUS_T aktivieren kann.

Nun sehe ich:
Internals:
   CMDS       ABbCEeFfGhiKklMmRTtUVWXxYZz
   CUL433_MSGCNT 2
   CUL433_TIME 2019-07-11 14:44:48
   Clients    :TechemHKV:WMBUS:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:STACKABLE:
   DEF        /dev/ttyUSB0@38400 0000
   DeviceName /dev/ttyUSB0@38400
   FD         11
   FHTID      0000
   NAME       CUL433
   NR         23
   PARTIAL
   RAWMSG     b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77983D6
   RSSI       -95
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.67 nanoCUL433
   initString X21
brt
   MatchList:
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
     J:WMBUS    ^b.*
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2017-09-25 19:02:52   ccconf          freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
     2019-07-11 14:40:06   cmds             A B b C E e F f G h i K k l M m R T t U V W X x Y Z z
     2017-09-25 19:12:02   raw             isF0FF0F0FFFF0
     2019-07-11 14:44:48   state           Initialized
Attributes:
   rfmode     WMBus_T
   verbose    5


6850 ist Techem.

TechemHKV habe ich auch hinzugefügt:
Internals:
   DEF        12345678 # die richtige Zahl habe ich aus der Abrechnung
   NAME       techem
   NR         24
   NTFY_ORDER 50-techem
   STATE      listening
   TYPE       TechemHKV
   READINGS:
     2019-07-11 14:40:07   state           listening
Attributes:


Nun wechselt munter die RAWMSG, aber sonst passiert nix.
Müsste ich nicht bei techem jetzt die dekodierten Infos bekommen?

Das HKV-Gerät ist 2017 eingebaut worden.
Benötigt ihr da genauere Infos?

Vielen Dank
Tobias

herrmannj

Moin,

dann zuerst mal ein herzliches Willkommen!

der HKV hat eine bisher unbekannte FW und deshalb ein unbekanntes Nachrichtenformat und deshalb ... siehste nix.

Wenn Du Deinen Ableser nicht dazu bringst Dir welche ran zubauen die FHEM kennt ;) dann muss sich das jemand (ich?) anschauen. Bin jedoch erst im August wieder zurück - pingst Du mich dann nochmal an?

vg
joerg


Finswimmer

Hallo,

vielen Dank für das freundliche Willkommen.
Das ist natürlich schade, dass das Format nicht verstanden wird.

Gibt es etwas, was ich probieren kann? Ich kenne mich durchaus aus mit Programmieren, etc.
Ich bräuchte nur zu Beginn ein paar Anregungen, was ich testen kann.
Da ich Zugang zu dem Gerät habe, kann ich recht genau die kwH und Temperatur ablesen, sodass wir darüber evtl. Rückschlüsse ziehen können.

herrmannj

#3
na klar. Das modul ist open source - im source code kannst Du sehen wie die bekannten Formate dekodiert werden. Das "System an sich"   wird bei dem ähnlich der bereits bekannten sein. Daran kannst Du Dich entlanghangeln.

edit
Das neue Format muss in das Modul 32_TechemHKV eingebaut werden - da sind schon verschiedene drin

Finswimmer

Schneller als gedacht klappt es.
Ich bekomme
long: 71955131
short: 5131
version: 95
type: 72
LastDate: 181231
Previous period: 814
Actual date: 2019711
Actual period: 478

Temp1 und Temp2 machen noch Probleme und das ist wohl der Grund, warum nix angezeigt wird.

Nun mal eine doof Frage:
Was sind das für Werte in Perod? Ist das ein Jahr? Ein Monat?
814hex = 2068 Dezimal.

Zum Vergleich: Wir haben im letzten Jahr ca. 10.000kWh verbraucht.
Abelesen wurde am 31.12.18: 10.792kwH.
Aktuell steht der Zähler bei ~14.000kWh.

Oder sind die Ergebnisse noch nicht korrekt?

Vielen Dank für deine schnelle Hilfe!

herrmannj

zu Temp1 und 2 musst Du mal schauen ob Du die in Deinem String findest. Haben nicht alle aber bei dem neuen würde ich's vermuten. Siehst ja wie das bei anderen dekodiert wird - dann auf Plausibilität prüfen. Die Position innerhalb der msg kann sich unterscheiden.

Die Daten oben sehen ja schlüssig aus. (top!)

Zeigt Deiner echt kW/h an ? Normalerweise messen die HKV in virtuellen Werten und das wird dann auf alle Parteien umgelegt/verteilt.

Dann würden Previous und Actual hinkommen. Actual startet bei Null. Das ist der Verbrauch seit dem letzten ablesen (181231 = 31.12.2018)

Gesamt = 814+478 = 1292

10.792 / 814 * 1292 wären 16796. Close aber kein hit... wo kommen die kW/h Werte denn her? Vom HKV? Der kann die eigentlich nicht wissen .. .




herrmannj

Zusatz:

Dein actual ist etwa die Hälfte vom previous. Das ist im Juli grundsätzlich ok


herrmannj

Krass. Normaler HKV vorne am Heizkörper oder kann der Hin- und Rücklauf exakt messen ? (Sensoren an den beiden Leitungen)

Finswimmer

Das ist ein Techem compact Ve III (?)
https://imgur.com/a/Yeb0IbL

Er hat zwei Kabel, eins geht direkt dahin, wo das Ding draufsteckt und das andere (Vorlauf) nach oben links weg.

Ich habe es eben nochmal abgelesen:
b364468506627437222431A71A1009F25282A00B8800F0080650522880A135422CA24996C13125D34A128719864A22BD837A235CC686209238814220826A1B
kwH: 14768 kwH
Vorlauftemperatur: 60,82
Rücklauf: 48,47
Firmware: 101 1.00

Leider komme ich nicht annähernd auf die Temperaturwerte.
Und wo die absoluten kWH versteckt sind...

Ich teste noch ein bisschen weiter...

herrmannj

Jo, genau da fängt der Sport an. Notiere dir am besten in einer Tabelle die raw und die dazugehörigen abgelesen Werte. Jeweils 1mal täglich oder so. Dann schauen wir uns das im August Mal an

Finswimmer

Werde ich machen.
Ich notiere auf jeden Fall täglich die kWh.
Die Temperaturen sind ein bisschen schwieriger, da ein Zeitversatz zwischen Ablesen im Keller und den empfangen Werten des CULs ist, aber auch da gebe ich mein Bestes.

Kann ich irgendwo sicherstellen, dass ich wirklich meinen HKV habe?
Die LongID wird zwar gespeichert, aber nicht verwendet, oder ich stehe auf dem Schlauch.


herrmannj

Ab los 9 im Datensatz aber die Ziffern sind vertauscht

Finswimmer

Ich habe eben mal "bruteforce" versucht:
Ich habe 6 verschiedene empfangene RAW innerhalb der letzten Stunden:

b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77980
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77981
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77982
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77983
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77984
b364468506627437222431A71A1009F25282A00B8800F0080650522880A135422CA24996C13125D34A128719864A22BD837A235CC686209238814220826A1B


Diese habe ich mir dann über:

print "$i: ", (hex(join '', reverse split /(..)/, substr $msg, $i, 2)), "\n";

ausgeben lassen.

Dabei habe ich mehrere for-schleifen verwendet:
- Jeweils von 0-120 Zeichen ($i)
- jeweils verschiedene Bitlängen (oben 2): von 2-6

Meine Hoffnung war, dass ich irgendwo die kwH finden:
Ablesewert alt: 160kwh
Ablesewert neu (31.12.18): 10792
Vebrauch daher: 10632
Aktueller Vebrauch: 14768 kwH

Aber genau finde ich diese Werte nirgends.

herrmannj

Deswegen über einige Tage. Dann sieht man an welcher pos sich was ändert, Verbrauch vorausgesetzt. Der letzte hkv ist jemand anderes

Finswimmer

Ein kurzer (wahrscheinlich ernüchternder) Zwischenstand:
- alle meine rawmsg der letzten Tage sortiert und doppelte gelöscht:
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77980
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77981
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77982
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77983
b2F4468503151957195727AEAA2069F252E03B02EDE010000283F3F3322D2272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77984
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77980
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77981
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77982
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77983
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77984
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77985
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77986
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77987
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77988
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77989
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D7798E
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D779B1
b2F4468503151957195727AEAA2069F252E03C02EE30100002D3F3F3337F8272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D779C9
b2F4468503151957195727AEAA2069F252E03D02EE50100002F3F3F33D490272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77980
b2F4468503151957195727AEAA2069F252E03D02EE50100002F3F3F33D490272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77981
b2F4468503151957195727AEAA2069F252E03D02EE50100002F3F3F33D490272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77982
b2F4468503151957195727AEAA2069F252E03D02EE50100002F3F3F33D490272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77983
b2F4468503151957195727AEAA2069F252E03D02EE50100002F3F3F33D490272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77984
b2F4468503151957195727AEAA2069F252E03D02EE50100002F3F3F33D490272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77985
b2F4468503151957195727AEAA2069F252E03D02EE50100002F3F3F33D490272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77986
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77980
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77981
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77982
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77983
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77984
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77985
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77986
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77987
b2F4468503151957195727AEAA2069F252E03E02EE7010000313F3F334633272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77988
b2F4468503151957195727AEAA2069F252E03F02EE9010000333F3F333F6F272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77980
b2F4468503151957195727AEAA2069F252E03F02EE9010000333F3F333F6F272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77981
b2F4468503151957195727AEAA2069F252E03F02EE9010000333F3F333F6F272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77982
b2F4468503151957195727AEAA2069F252E03F02EE9010000333F3F333F6F272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77983
b2F4468503151957195727AEAA2069F252E03F02EE9010000333F3F333F6F272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77984
b2F4468503151957195727AEAA2069F252E03F02EE9010000333F3F333F6F272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77985


- diese durch das Skript laufen lassen und die $msg ausgegeben, da viele der Änderungen nur die Prüfsumme sind, wiederum sortiert und alle doppelten gelöscht. Damit bleiben nur noch eine handvoll msg übrig:

msg: 446850315195719572A206 9F25 2E03 B02E DE01 0000 283F 3F33272B2616201A23201C1D1F1C0A162B34291F101A0122
msg: 446850315195719572A206 9F25 2E03 C02E E301 0000 2D3F 3F33272B2616201A23201C1D1F1C0A162B34291F101A0122
msg: 446850315195719572A206 9F25 2E03 D02E E501 0000 2F3F 3F33272B2616201A23201C1D1F1C0A162B34291F101A0122
msg: 446850315195719572A206 9F25 2E03 E02E E701 0000 313F 3F33272B2616201A23201C1D1F1C0A162B34291F101A0122
msg: 446850315195719572A206 9F25 2E03 F02E E901 0000 333F 3F33272B2616201A23201C1D1F1C0A162B34291F101A0122


Die Blöcke sind lastDate, lastPeriode, actualDate, actualPeriod.

Spannend wird es bei dem Block nach den "0000".
Aber hier kann ich drehen und wenden was ich will, bei z.b. 333F kommt raus:
0033 -> 3300 -> 13056
0333 -> 3303 -> 13059
333F -> 3F33 -> 16179
33F3 -> F333 -> 62259
3F3F -> 3F3F -> 16191

Am ehesten könnte das noch 33F3 -> 62,25°C für die Temperatur sein...

Aber wo dann die kWH versteckt sein sollen...

Finswimmer

Peinlich peinlich.
Ich habe die ganze Zeit mit den falschen rawmsg gearbeitet.
Es gab wohl zwei verschiedene, die ich empfange:
b2F4468503151957195727AEAA2069F252E03F02EE9010000333F3F333F6F272B2616201A23201C1D1F1C0A162B3447CD291F101A0122D77985
b364468506327437222439A76A1009F256D3C00B84C150000D6C830C3589904839154254D565F75A465FAF5ACEA7A340F29E464226DB4CD30CDF0024D321D5

Und die letztere kann das Script gar nicht verarbeiten, da es einen crc Fehler gibt.
Daher dachte ich, dass das nicht relevant für mich ist.
Aber...das ist der Zähler von mir.

Ich komme nun bei lastDate auf 181231 und meine 10792 kwh :-)
actualDate scheint falsch zu sein, da bekomme ich nach Umrechnung:
2019724
2019725
2019726
2019727
Da ich erst seit vier Tagen FHEM laufen lasse, kann das gut hinkommen.

Ich protokolliere fleißig weiter und schaue, ob ich noch an die aktuellen kWh komme.

Finswimmer

Hi,

so langsam habe ich es raus, denke ich:
b36 446850 66274372 22431A71A100 9F25 282A 00B8 2410 0080 0D87 228A E9E7 205289289364B24D4874D184A2C46192AAE289DE88D630A389258C20528820233

aufgeteilt:
b36
446850
66274372 : Zählernummer
22431A71A100
9F25 : last period date
282A: last period value
00B8:
2410 : actual period value, also abgelesener Stand z.b. 14933 - letzter periode (10792) = 4132
0080
0D87
228A
E9E7
205289289364B24D4874D184A2C46192AAE289DE88D630A389258C20528820233


   14933   4141    4132

DasQ

doofe zwischenfrage, wie hast den log von den RAWMSG hinbekommen?
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Finswimmer

Zitat von: DasQ am 10 August 2019, 18:56:18
doofe zwischenfrage, wie hast den log von den RAWMSG hinbekommen?

Sorry für die späte Antwort.
Die log ist in fhem.log

Da ich einen Teil des Strings wusste, habe ich das über:
sed 's/[^[:print:]]//' fhem-2019-07.log | grep 12345
ausgeben lassen.
Der erste Teil ist dafür da, dass die nicht-anzeigbaren Zeichen nicht ausgegeben werden und ich "grep" nutzen kann.

Finswimmer

@hermannj

Kann ich Dir noch irgendwie helfen, damit das neue Protokoll auch direkt in FHEM integriert wird?

herrmannj

Nein, ich habe den thread verpasst :O Ich schau mir das an. Danke!

Finswimmer

Super!
Wenn Du irgendwelche Fragen hast, oder ich was testen soll...ich schaue hier 1x die Woche rein :-)