KM271 irgendwas geht da nicht. (Kommunikation)

Begonnen von cbug, 19 Mai 2019, 14:56:48

Vorheriges Thema - Nächstes Thema

cbug

Hallo,

ich habe in meine Buderus SC115 mit Logamatic 2107 letzte Woche eine KM271 eingebaut und dazu einen USB-to-Serial Adapter gekauft und an einen MiniPC der noch rumlag angeschlossen.

Jetzt stehe ich aber ein wenig auf dem Schlauch. Im FHEM habe ich das km271 modul hinzugefügt, Status vom Gerät ist laut FHEM "Opened", dass wars. Das initiale 'logmode' liest nichts aus.

Wenn ich FHEM ausschalte und mit hexdump auf dem Gerät mitlese, bekomme ich die folgende Ausgabe (alle 10-20Sek eine zus. Zeile).

# hexdump -C /dev/ttyUSB0
00000000  18 18 1a 12 10 10 10 02  10 18 10 10 10 18 18 14  |................|
00000010  10 10 10 11 18 10 00 11  10 10 18 11 11 10 11 11  |................|
00000020  11 11 11 01 11 11 11 11  11 10 11 11 18 11 10 00  |................|
00000030  10 19 18 1c 1c 10 1e 18  10 10 18 18 18 10 10 10  |................|
00000040  18 10 18 18 18 10 18 10  18 11 10 10 18 18 18 18  |................|
00000050  18 10 18 10 18 10 10 18  18 10 10 18 00 11 18 18  |................|
00000060  18 10 18 10 10 10 10 18  18 10 10 18 1c 10 18 10  |................|
00000070  10 10 10 18 10 10 10 10  10 10 10 10 10 11 10 10  |................|
00000080  10 10 10 10 10 10 10 10  18 10 10 10 18 11 10 18  |................|
00000090  10 10 10 10 10 10 10 10  10 10 10 10 10 10 10 00  |................|
000000a0  10 18 10 10 10 10 18 10  10 10 10 18 10 10 10 11  |................|
000000b0  10 10 18 10 10 10 11 11  11 11 10 14 10 12 10 10  |................|
000000c0  10 11 18 19 10 12 10 10  10 11 10 10 18 00 00 10  |................|
000000d0  10 19 10 10 10 00 10 18  10 11 10 10 10 11 10 10  |................|
000000e0  10 11 10 10 10 10 10 10  18 11 10 10 10 11 00 10  |................|
000000f0  10 11 10 10 10 12 10 10  18 11 10 10 10 11 10 10  |................|
00000100  10 10 10 10 00 11 10 10  10 11 00 00 14 11 00 10  |................|
00000110  10 11 10 12 10 11 11 12  10 11 12 10 11 11 10 12  |................|
00000120  10 11 10 11 12 11 12 12  10 11 02 10 10 11 11 12  |................|



Habe ich was übersehen?

Mein FHEM Log sieht nach dem Start so aus:


2019.05.19 14:58:47 1: Including fhem.cfg
2019.05.19 14:58:48 3: WEB: port 8083 opened
2019.05.19 14:58:48 2: eventTypes: loaded 22 events from ./log/eventTypes.txt
2019.05.19 14:58:48 3: Opening heizung device /dev/ttyUSB0
2019.05.19 14:58:48 3: Setting heizung serial parameters to 2400,8,N,1
2019.05.19 14:58:48 3: heizung device opened
2019.05.19 14:58:48 1: Including ./log/fhem.save
2019.05.19 14:58:48 0: Featurelevel: 5.9
2019.05.19 14:58:48 0: Server started with 7 defined entities (fhem.pl:19381/2019-05-13 perl:5.024001 os:linux user:fhem pid:559)


Nach einem manuellen logmode kommt diese Meldungen im Log:


2019.05.19 15:00:46 3: heizung: set logmode
2019.05.19 15:00:47 2: heizung: Bogus data after sending packet <01>
2019.05.19 15:00:47 2: heizung: Sending attempt for <ee00001003fd> failed, retrying
2019.05.19 15:00:48 2: heizung: Bogus data after sending packet <18>
2019.05.19 15:00:48 2: heizung: Sending attempt for <ee00001003fd> failed, retrying

rudolfkoenig

Evtl. hilft es ein Neustart der Heizungsanlage.

Der KM271 kommuniziert relativ zuverlaessig, und ununterbrochen.
Die Pakete fangen ueblicherweise mit 0x02 ("Want to send") an, die man mit 0x10 (ready) bestaetigen muss.
Mehr Details gibt es in den Dokumenten, die am Anfang des FHEM-Moduls erwaehnt sind.
Eine genaue Dokumentation der KM271-API von Buderus oder Bosch ist mir aber nicht bekannt.

cbug

#2
Ja dann scheint da ja schon etwas nicht in Ordnung zu sein, habe verbose auf 5  hoch gestellt, das sieht dann so aus:


2019.05.19 16:55:03 5: SW: 02
2019.05.19 16:55:03 5: heizung: KM271RAW <1e>
2019.05.19 16:55:03 5: SW: 02
2019.05.19 16:55:03 5: heizung: KM271RAW <11>
2019.05.19 16:55:03 5: SW: 02
2019.05.19 16:55:03 5: heizung: KM271RAW <1f>
2019.05.19 16:55:03 5: SW: 02
2019.05.19 16:55:04 5: heizung: KM271RAW <11>
2019.05.19 16:55:04 5: SW: 02
2019.05.19 16:55:04 5: heizung: KM271RAW <18>
2019.05.19 16:55:04 5: SW: 02
2019.05.19 16:55:04 5: heizung: KM271RAW <11>
2019.05.19 16:55:04 5: SW: 02
2019.05.19 16:55:04 5: heizung: KM271RAW <1e>
2019.05.19 16:55:04 5: SW: 02
2019.05.19 16:55:05 5: heizung: KM271RAW <1d>
2019.05.19 16:55:05 5: SW: 02
2019.05.19 16:55:05 5: heizung: KM271RAW <1c>
2019.05.19 16:55:05 5: SW: 02
2019.05.19 16:55:05 5: heizung: KM271RAW <01>
2019.05.19 16:55:05 5: SW: 02
2019.05.19 16:55:05 5: heizung: KM271RAW <1d>
2019.05.19 16:55:05 5: SW: 02
2019.05.19 16:55:06 5: heizung: KM271RAW <1d>
2019.05.19 16:55:06 5: SW: 02
2019.05.19 16:55:06 5: heizung: KM271RAW <1f>
2019.05.19 16:55:06 5: SW: 02
2019.05.19 16:55:06 5: heizung: KM271RAW <1e>
2019.05.19 16:55:06 5: SW: 02
2019.05.19 16:55:06 5: heizung: KM271RAW <1e>
2019.05.19 16:55:06 5: SW: 02
2019.05.19 16:55:07 5: heizung: KM271RAW <1f>
2019.05.19 16:55:07 5: SW: 02
2019.05.19 16:55:07 5: heizung: KM271RAW <1e>
2019.05.19 16:55:07 5: SW: 02
2019.05.19 16:55:07 5: heizung: KM271RAW <1e>
2019.05.19 16:55:07 5: SW: 02
2019.05.19 16:55:07 5: heizung: KM271RAW <01>
2019.05.19 16:55:07 5: SW: 02
2019.05.19 16:55:08 5: heizung: KM271RAW <12>
2019.05.19 16:55:08 5: SW: 02
2019.05.19 16:55:18 5: heizung: KM271RAW <01>
2019.05.19 16:55:18 5: SW: 02
2019.05.19 16:55:18 5: heizung: KM271RAW <1f>
2019.05.19 16:55:18 5: SW: 02
2019.05.19 16:55:19 5: heizung: KM271RAW <19>
2019.05.19 16:55:19 5: SW: 02
2019.05.19 16:55:19 5: heizung: KM271RAW <19>
2019.05.19 16:55:19 5: SW: 02
2019.05.19 16:55:19 5: heizung: KM271RAW <1f>
2019.05.19 16:55:19 5: SW: 02
2019.05.19 16:55:19 5: heizung: KM271RAW <1e>
2019.05.19 16:55:19 5: SW: 02
2019.05.19 16:55:19 5: heizung: KM271RAW <1f>
2019.05.19 16:55:19 5: SW: 02
2019.05.19 16:55:19 5: heizung: KM271RAW <1d>
2019.05.19 16:55:19 5: SW: 02
2019.05.19 16:55:20 5: heizung: KM271RAW <1f>
2019.05.19 16:55:20 5: SW: 02
2019.05.19 16:55:20 5: heizung: KM271RAW <1e>
2019.05.19 16:55:20 5: SW: 02
2019.05.19 16:55:31 5: heizung: KM271RAW <1e>
2019.05.19 16:55:31 5: SW: 02
2019.05.19 16:55:31 5: heizung: KM271RAW <11>
2019.05.19 16:55:31 5: SW: 02
2019.05.19 16:55:31 5: heizung: KM271RAW <1f>
2019.05.19 16:55:31 5: SW: 02
2019.05.19 16:55:31 5: heizung: KM271RAW <1f>
2019.05.19 16:55:31 5: SW: 02
2019.05.19 16:55:31 5: heizung: KM271RAW <1f>
2019.05.19 16:55:31 5: SW: 02
2019.05.19 16:55:31 5: heizung: KM271RAW <1f>
2019.05.19 16:55:31 5: SW: 02
2019.05.19 16:55:32 5: heizung: KM271RAW <1f>
2019.05.19 16:55:32 5: SW: 02
2019.05.19 16:55:32 5: heizung: KM271RAW <10>
2019.05.19 16:55:32 5: SW: ee00001003fd
2019.05.19 16:55:32 5: heizung: KM271RAW <1c>
2019.05.19 16:55:32 2: heizung: Bogus data after sending packet <1c>
2019.05.19 16:55:32 2: heizung: Sending attempt for <ee00001003fd> failed, retrying
2019.05.19 16:55:32 5: SW: 02
2019.05.19 16:55:32 5: heizung: KM271RAW <1f>
2019.05.19 16:55:32 5: SW: 02
2019.05.19 16:55:33 5: heizung: KM271RAW <1f>
2019.05.19 16:55:33 5: SW: 02
2019.05.19 16:55:33 5: heizung: KM271RAW <1f>
2019.05.19 16:55:33 5: SW: 02
2019.05.19 16:55:33 5: heizung: KM271RAW <1f>
2019.05.19 16:55:33 5: SW: 02
2019.05.19 16:55:33 5: heizung: KM271RAW <1f>
2019.05.19 16:55:33 5: SW: 02
2019.05.19 16:55:34 5: heizung: KM271RAW <1e>
2019.05.19 16:55:34 5: SW: 02
2019.05.19 16:55:34 5: heizung: KM271RAW <1c>
2019.05.19 16:55:34 5: SW: 02
2019.05.19 16:55:45 5: heizung: KM271RAW <10>
2019.05.19 16:55:45 5: SW: ee00001003fd
2019.05.19 16:55:45 5: heizung: KM271RAW <10>
2019.05.19 16:55:55 5: heizung: KM271RAW <18>
2019.05.19 16:56:06 5: heizung: KM271RAW <10>
2019.05.19 16:56:16 5: heizung: KM271RAW <11>
2019.05.19 16:56:27 5: heizung: KM271RAW <10>
2019.05.19 16:56:37 5: heizung: KM271RAW <10>
2019.05.19 16:56:48 5: heizung: KM271RAW <01>
2019.05.19 16:56:58 5: heizung: KM271RAW <1c>
2019.05.19 16:57:09 5: heizung: KM271RAW <11>
2019.05.19 16:57:19 5: heizung: KM271RAW <10>
2019.05.19 16:57:30 5: heizung: KM271RAW <10>
2019.05.19 16:57:40 5: heizung: KM271RAW <11>


Ich vermute mal die KM271RAW Zeilen sind die empfangenen Zeichen von der Heizung?
Kann das am USB-to-serial Adapter liegen? Habe bei Amazon diesen gekauft:
https://www.amazon.de/gp/product/B008FKABG0/ref=ppx_yo_dt_b_asin_image_o02_s00?ie=UTF8&psc=1

Neustart habe ich heute schon ein paar gemacht, hilft nix.


Nachtrag,
ich habe jetzt ein altes Notebook mit Seriellem Anschluss per Nullmodemkabel verbunden ... die heizung wird sofort erkannt.
Übeltäter ist also der usb-to-serial Adapter, schade, hatte extra den genommen, weil linux und windows die Treiber für ihn direkt mitbringen.

rudolfkoenig

Die Verbindung laeuft mit 2400 Baud, vmtl. ist sowas dem Wandler zu altmodisch.

cbug

#4
Möglich.

Ich habe mich jetzt ein wenig zu dem ch340 der da verbaut ist umgeschaut, lt. einigen Fedora Nutzern geht der ab linux 4.10, mein debian hab ich mit den backports auf 4.19 gehievt, laufen tut er trotzdem nicht.

Ich werd mir einen neuen Adapter bestellen, wenigstens konnte ich ausschließen dass es an der km271 liegt.


Nachtrag für die Nachwelt,

komme gerade aus dem Mediamarkt, dort gabs einen Sitecom USB-to-Serial Adapter, der funktioniert, die Heizung funkt.


[77925.581745] usb 1-3: new full-speed USB device number 3 using xhci_hcd
[77925.731354] usb 1-3: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 4.00
[77925.731370] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[77925.731380] usb 1-3: Product: USB-Serial Controller D
[77925.731389] usb 1-3: Manufacturer: Prolific Technology Inc.
[77925.756514] usbcore: registered new interface driver pl2303
[77925.756541] usbserial: USB Serial support registered for pl2303
[77925.756585] pl2303 1-3:1.0: pl2303 converter detected
[77925.758971] usb 1-3: pl2303 converter now attached to ttyUSB0