Welcher Cul für (Remote-)Einbindung von WMBUS?

Begonnen von dadoc, 16 September 2022, 13:00:47

Vorheriges Thema - Nächstes Thema

dadoc

Hallo zusammen,
ich will mich an das Abenteuer machen und die Daten von drei Wärmezählern einer Gastherme in fhem holen. Dazu habe ich mir das entsprechende M-Bus-Modul (868 MHz) sowie zwei Impuls-Ausgangsmodule besorgt. Das alles möchte ich mit dem WMBUS-Modul einbinden.
Da die Heizung im Keller und ich im 4. OG bin, wird das Funksignal vermutlich nicht bis nach oben dringen. Daher der Plan, im Heizungskeller einen zweiten Raspi (Zero?) mit CUL laufen zu lassen und per fhem-fhem-Kopplung oder ser2net einzubinden (Ethernet ist im Heizungskeller vorhanden, da aber nur eine abgespeckte Fritzbox, kommt https://wiki.fhem.de/wiki/CUL_ueber_Netz wohl eher nicht in Frage?).

Nun meine Frage, denn die mittlerweile erhältliche Fülle an CULs hat mich verwirrt: Welchen sollte ich nehmen? Wiki sagt:
ZitatAktuell kann ein CUL und verwandte Geräte die die culfw verwenden sowie ein Amber Wireless AMB8465M dafür verwendet werden
Nehme ich da also einen kpl. (Nano-)Cul? Oder würde es reichen, ein CC1101 Modul mit dem Pi Zero zu verheiraten (wie? Habe keine Anleitungen dazu gefunden).
Alternativvorschläge werden natürlich auch dankend entgegen gekommen...
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Ralf9

Wenn Du löten kannst, dann kannst Du auch ein Maple Cul oder Maple sduino nehmen, für beide gibts auch eine LAN Variante.
Meine sduino firmware V 4.2.2 läuft auch auf dem ESP32 und kann WMBUS

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

dadoc

Danke Ralf,
Löten ist kein Problem, solange es keine SMDs oder Prozessoren sind (habe witzigerweise gerade ein anderes M-Bus/Esp32/Arduino-Emulator-Projekt umgesetzt, wobei es da um einen völlig anderen M-Bus geht - den, über den alte Jaguar/Alpine-Autoradios mit dem CD-Wechsler im Kofferraumkommunizieren).
Hardware (ESP32 und CC1101) müsste ich sogar noch rumliegen haben.
Was mir noch nicht klar ist: Wenn ich das Teil dann im Keller neben der Heizung empfangen lasse - wie bekomme ich die Daten ins Dachgeschoss (Netzwerk + WLAN ist im Keller vorhanden)? Muss ich dann zusätzlich noch einen Raspi mit fhem im Keller am Laufen haben oder bekomme ich die Werte übers Netzwerk (z.B. mit so etwas wie ser2net) ins "eigentliche" fhem
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Ralf9

Hallo Martin,

für den Maple gibts eine Platine und für den ESP32 gibts noch keine Platine.
Das 868 MHz cc1101 Modul ist so eine Art SMD die Anschlüsse haben einen Abstand von 2mm, zum Löten sind sehr gute Augen oder eine Lupenleuchte zu empfehlen.

Mit einem ESP8266 (zb. D1 mini) oder einem LAN zu seriel Umsetzer (USR-TCP232-T2) gehts auch mit einem NanoCul
https://forum.fhem.de/index.php/topic,69042.msg605241.html#msg605241

ZitatWas mir noch nicht klar ist: Wenn ich das Teil dann im Keller neben der Heizung empfangen lasse - wie bekomme ich die Daten ins Dachgeschoss (Netzwerk + WLAN ist im Keller vorhanden)? Muss ich dann zusätzlich noch einen Raspi mit fhem im Keller am Laufen haben oder bekomme ich die Werte übers Netzwerk (z.B. mit so etwas wie ser2net) ins "eigentliche" fhem

Nein, da ist kein zusätzlicher Raspi nötig, das geht übers Netzwerk. Das Fhem Modul verbindet sich über Telnet.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

dadoc

Vielen Dank Ralf,
Zitat von: Ralf9 am 17 September 2022, 12:47:04
für den Maple gibts eine Platine und für den ESP32 gibts noch keine Platine.
Das 868 MHz cc1101 Modul ist so eine Art SMD die Anschlüsse haben einen Abstand von 2mm, zum Löten sind sehr gute Augen oder eine Lupenleuchte zu empfehlen.
Sollte ich hinbekommen, habe es schon bei ein paar Homebrew-Geräten geschafft (dank einer antiken Standlupe von Zeiss).
In der Bastelkiste habe ich, neben ein paar cc1101, noch folgendes:

1. DollaTek ESP32 4MB Psram 4Mb Flash WiFi Modul Bluetooth ESP32-Wrover
2. AZDelivery ESP32 NodeMCU Module WLAN WiFi Dev Kit C Development Board mit CP2102
3. MakerHawk ESP32 LoRa Modul SX1276 868 915 MHz Wifi Modul IoT Karte Dual Core 240 MHz CP2102 Geringer Stromverbrauch mit 0,96 Zoll OLED Display und Antenne für Arduino

Ist da einer besonders empfehlenswert bzw. würden die mit Deiner Firmware überhaupt laufen? Wie wäre da jeweils der cc1101 (mir würde ja erstmal einer reichen) zu verdrahten?
Viele Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Ralf9

Getestet habe ich es mit dem DEVKIT V1, mit den DEV Kit C sollte es aber auch funktionieren, da es auch das ESP-WROOM-32 verwendet.

ZitatWie wäre da jeweils der cc1101 (mir würde ja erstmal einer reichen) zu verdrahten?
Siehe ab hier
https://forum.fhem.de/index.php/topic,83273.msg1234529.html#msg1234529

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

dadoc

#6
So, jetzt wieder hier weiter, da M-BUS usw.
Ich habe jetzt mal alles zusammengelötet (ein Funkmodul) und in fhem eingebunden. Das Teil lebt auch:
Internals:
   CFGFN     
   Clients    :CUL_TCM97001:SD_WS:SD_WS07:SD_WS09:Hideki:LaCrosse:OREGON:CUL_EM:CUL_WS:CUL_TX:SD_AS:IT: :FS10:FS20:SOMFY:FLAMINGO:SD_WS_Maverick:KOPP_FC:PCA301:SD_BELL:SD_GT:SD_RSL:SD_UT:WMBUS:HMS: :IFB:CUL_FHTTK:FHT:RFXX10REC:Revolt:Dooya:Fernotron:SD_Keeloq:SD_Rojaflex:Siro:LTECH:SD_Tool:SIGNALduino_un:
   ClientsKeepOrder 1
   DEF        192.168.50.121:23
   DMSG       nothing
   DevState   initialized
   DeviceName 192.168.50.121:23
   FD         139
   FUUID      632b1106-f33f-9bf2-ceb6-80502ecf21034593
   IDsNoDispatch 2,43.1,72.1,82,87,88
   LASTDMSG   nothing
   LASTDMSGID nothing
   NAME       mkduino
   NR         6012
   PARTIAL   
   STATE      opened
   TIME       1663766790.19728
   TYPE       SIGNALduino
   b_ccconf   b=0 rx=0 freq:868.350MHz bWidth:812KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]
   b_ccconfFSK N=6 ccmode=3 sync=2DD4 Modulation:2-FSK (SYNC_MODE:16/16 + carrier-sense above threshold) DEVIATN:88.867kHz
   cc1101_frequency 868.350
   sendworking 0
   version    V 4.2.2-dev220712 SIGNALduinoAdv ESP32 cc1101 (R: B-*) - compiled at Sep 18 2022 19:22:57
   versionmodul v3.4.14-dev_ralf_21.07.
   versionprotoL v3.4.7-ralf_24.06.
   MatchList:
     01:IT      ^i......
     02:CUL_TCM97001 ^s[A-Fa-f0-9]+
     03:SD_RSL  ^P1#[A-Fa-f0-9]{8}
     04:OREGON  ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     05:CUL_TX  ^TX..........
     06:SD_AS   ^P2#[A-Fa-f0-9]{7,8}
     07:Hideki  ^P12#75[A-F0-9]+
     09:CUL_FHTTK ^T[A-F0-9]{8}
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
     11:SD_WS09 ^P9#F[A-Fa-f0-9]+
     12:SD_WS   ^W\d+x{0,1}#.*
     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
     14:Dooya   ^P16#[A-Fa-f0-9]+
     15:SOMFY   ^Ys[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     17:SD_UT   ^P(?:14|20|24|26|29|30|34|46|56|68|69|76|78|81|83|86|90|91|91.1|92|93|95|97|99|104|105|114|118|121|123)#.*
     18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
     20:Revolt  ^r[A-Fa-f0-9]{22}
     21:FS10    ^P61#[A-F0-9]+
     22:Siro    ^P72#[A-Fa-f0-9]+
     23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     24:FS20    ^81..(04|0c)..0101a001
     25:CUL_EM  ^E0.................
     26:Fernotron ^P82#.*
     27:SD_BELL ^P(?:15|32|41|42|57|79|96|98|112)#.*
     28:SD_Keeloq ^P(?:87|88)#.*
     29:SD_GT   ^P49#[A-Fa-f0-9]+
     30:LaCrosse ^(\S+\s+9 |OK\sWS\s)
     31:KOPP_FC ^kr..................
     32:PCA301  ^\S+\s+24
     33:SD_Rojaflex ^P109#[A-Fa-f0-9]+
     34:WMBUS   ^b.*
     35:HMS     ^810e04......a001
     36:IFB     ^J............
     37:LTECH   ^P31#[A-Fa-f0-9]{26,}
     90:SD_Tool ^pt([0-9]+(\.[0-9])?)(#.*)?
     X:SIGNALduino_un ^[u]\d+#.*
   QUEUE:
   READINGS:
     2022-09-21 15:54:30   cc1101_config   freq:0.000MHz bWidth:812KHz rAmpl:24dB sens:4dB (DataRate:24.80Baud)
     2022-09-21 15:54:30   cc1101_config_ext Modulation:2-FSK (SYNC_MODE:No preamble/sync) DEVIATN:1.587kHz
     2022-09-21 15:56:33   cmdBank         
B: b=0 rx=0 freq:868.350MHz bWidth:812KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]

   N=6 ccmode=3 sync=2DD4 Mod
     2022-09-21 15:30:56   config          MS=1;MU=1;MC=1;Mred=0;RX=0_MScnt=4;maxMuPrint=768;maxMsgSize=1024;maxNumPat=8;Mdebug=1;MdebFifoLimit=150/200
     2022-09-21 15:57:43   ping            OK
     2022-09-21 15:49:26   raw             V 4.2.2-dev220712 SIGNALduinoAdv ESP32 cc1101 (R: B-*) - compiled at Sep 18 2022 19:22:57
     2022-09-21 15:53:21   rfmode          DP100_WH51_17241 => ok,N=6,ccmode=3
     2022-09-21 15:26:33   state           opened
   getcmd:
   hmccu:
   keepalive:
     ok         0
     retry      0
   mcIdList:
     10
     11
     12
     18
     43
     47
     52
     57
     58
     96
   mnIdList:
   msIdList:
     0
     0.1
     0.2
     0.3
     0.4
     0.5
     1
     3
     3.1
     4
     6
     7
     13
     13.2
     14
     15
     17
     20
     23
     25
     32.1
     33
     33.1
     33.2
     35
     41
     49
     51
     53
     54.1
     55
     65
     68
     74.1
     90
     91.1
     93
     100
     101
     102
     103
     106
     107
     108
     109
     112
   muIdList:
     8
     9
     13.1
     16
     17.1
     19
     21
     22
     24
     26
     27
     28
     29
     30
     31
     32
     34
     36
     37
     38
     39
     40
     42
     44
     44.1
     45
     46
     48
     49.1
     49.2
     50
     54
     56
     59
     60
     61
     62
     64
     66
     67
     69
     70
     71
     72
     73
     74
     78
     79
     80
     81
     83
     84
     85
     86
     89
     91
     92
     94
     95
     97
     98
     99
     104
     105
     110
     111
     200
     201
   rfmodesets:
     rfmode     Avantek_433_FSK,DP100_WH51_17241,HoneywActivL_SlowRf_FSK,KOPP_FC_4785,Lacrosse_mode1_17241,Lacrosse_mode2_9579,PCA301_mode3_6631,Rojaflex_433_GFSK,SlowRF_ccFactoryReset,WS1600_TX22_mode5_8842,bresser_5in1_8220,custom
   rfmodesetsTesting:
     rfmodeTesting
Attributes:
   room       Signalduino


Aber jetzt bin ich ein wenig verloren, trotz oder wegen der vorbildlich umfangreichen Dokumentation an verschiedenen Stellen.
Da das MBUS-Zubehör für die Wärmezähler noch nicht vollständig da ist: Wie kann ich denn z.B. testen, ob ich alles korrekt zusammen gelötet habe?
Müssten damit nicht auch die Daten meiner Wetterstation empfangen werden (s. https://forum.fhem.de/index.php?topic=127623.new;topicseen#new - wo Du, Ralf, mich schon unterstützt hattest). Der Jeelink empfängt die Daten mit
initCommands 868345f v
bzw.
settings
(RFM69CW f:868345 r:17241)

Habe es beim Esp32  mit
set rfmode DP100_WH51_17241
versucht, aber da scheint nichts zu kommen. Zumindest sehe ich nichts im Event Monitor, oder würde sich das an vorhandene KeyValueProtocol-Devices oder an das HP1000 dranhängen?
Sollte es, und wenn ja: Was wäre dafür zu tun?

Andererseits ergibt V ja
raw: V 4.2.2-dev220712 SIGNALduinoAdv ESP32 cc1101 (R: B-*) - compiled at Sep 18 2022 19:22:57

und in R: B-* bedeutet der Bindestrich ja wohl, dass das Modul nicht erkannt wurde.
EDIT: Bindestrich ist weg. Man muss wohl auch bei alleiniger Verwendung von B die Bank mit get sduino cmdBank 1 initialisieren. Hatte an anderer Stelle gelesen, "Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert."
Empfangen wird aber anscheinend immer noch nichts.
/EDIT

Mache ich etwas falsch oder heißt es: Lötung erneut checken?
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Ralf9

ZitatR: B-* bedeutet der Bindestrich ja wohl, dass das Modul nicht erkannt wurde.

ja, der Bindestrich bedeutet, daß das Modul nicht erkannt wurde

ein i bedeutet, daß das Modul erkannt wurde, aber noch keine Bank zugeodnet wurde.

Per Default wird dem Modul B die Bank 0 zugeordnet, es kann aber jedem Modul jede beliebige Bank zugeordnet werden

Ich habe hier noch was dazu geschrieben
https://forum.fhem.de/index.php/topic,83273.0.html
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7