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
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
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.
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
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!
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 .. .
Zusatz:
Dein actual ist etwa die Hälfte vom previous. Das ist im Juli grundsätzlich ok
https://imgur.com/a/3JGmKOD
Er zeigt wirklich kWh an.
Krass. Normaler HKV vorne am Heizkörper oder kann der Hin- und Rücklauf exakt messen ? (Sensoren an den beiden Leitungen)
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...
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
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.
Ab los 9 im Datensatz aber die Ziffern sind vertauscht
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.
Deswegen über einige Tage. Dann sieht man an welcher pos sich was ändert, Verbrauch vorausgesetzt. Der letzte hkv ist jemand anderes
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...
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.
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
doofe zwischenfrage, wie hast den log von den RAWMSG hinbekommen?
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.
@hermannj
Kann ich Dir noch irgendwie helfen, damit das neue Protokoll auch direkt in FHEM integriert wird?
Nein, ich habe den thread verpasst :O Ich schau mir das an. Danke!
Super!
Wenn Du irgendwelche Fragen hast, oder ich was testen soll...ich schaue hier 1x die Woche rein :-)