Autor Thema: CM160: Invalid frame ID byte  (Gelesen 2340 mal)

Offline rst1

  • New Member
  • *
  • Beiträge: 8
CM160: Invalid frame ID byte
« am: 16 März 2014, 21:18:51 »
Moin,

ich hab FHEM hier unter einem der vielfältigen RHEL Derivate laufen (Scientific Linux), aber die Frage wird vermutlich genauso für CentOS und RHEL selbst gelten..

ich hab den OWL +USB Energiemesser und dazu passend das cp210x Modul neu gebaut weil die DeviceID 0fde:ca05 nicht erkannt wurde. Dazu hab ich

{ USB_DEVICE(0x0fde, 0xca05) }, /* OWL Wireless Electricity Monitor CM-160 */

eingefügt. Zusätzlich wiesen diverse Beiträge drauf hin, doch bitte recht zwingend eine 250000 baud kludge einzufügen, da das Ding wohl diese bizarre Geschwindigkeit benötigt. Dieses wurde vermittels

if( baud == 0) baud = 250000; /* KLUDGE for Owl Energy Monitor, Use baud rate (B0 Hang up) that is unlikley to be of any use */

am Anfang des cp210x_quantise_baudrate parts gemacht. Soweit so gut, das cient auch geklappt zu haben, das System meldet jedenfalls:

cp210x 4-1:1.0: device disconnected
usb 4-1: new full speed USB device number 5 using ohci_hcd
usb 4-1: New USB device found, idVendor=0fde, idProduct=ca05
usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-1: Product: OWL Wireless Electricity Monitor USB version is connected
usb 4-1: Manufacturer: Silicon Labs
usb 4-1: SerialNumber: 0074039E
usb 4-1: configuration #1 chosen from 1 choice
cp210x 4-1:1.0: cp210x converter detected
usb 4-1: reset full speed USB device number 5 using ohci_hcd
usb 4-1: cp210x converter now attached to ttyUSB0

Dann noch flugs das 60_CM160.pm eingebunden (Laut text die Version 1.0 - October, 2012, was neueres hab ich leider nicht gefunden) und vermittels

# OWL
define CM160 CM160 /dev/ttyUSB0
attr CM160 co2Factor 0.5
attr CM160 costPerKwh 0.30
attr CM160 currency €
attr CM160 loglevel 5
attr CM160 voltage 230
define cm160Log FileLog /opt/fhem/log/CM160-%Y-%m.log

in der fhem.cfg das Ding bekannt gemacht.
wird auch tendenziell erkannt:

2014.03.16 21:09:28 5: Loading ./FHEM/95_FLOORPLAN.pm
2014.03.16 21:09:28 5: Cmd: >define CM160 CM160 /dev/ttyUSB0<
2014.03.16 21:09:28 5: Loading ./FHEM/60_CM160.pm
2014.03.16 21:09:28 3: Opening CM160 device /dev/ttyUSB0
2014.03.16 21:09:28 3: CM160 device opened
2014.03.16 21:09:28 4: CM160: connected to device /dev/ttyUSB0
2014.03.16 21:09:28 5: Cmd: >attr CM160 co2Factor 0.5<
2014.03.16 21:09:28 5: Cmd: >attr CM160 costPerKwh 0.30<
2014.03.16 21:09:28 5: Cmd: >attr CM160 currency €<
2014.03.16 21:09:28 5: Cmd: >attr CM160 loglevel 5<
2014.03.16 21:09:28 5: Cmd: >attr CM160 voltage 230<
2014.03.16 21:09:28 5: Cmd: >define cm160Log FileLog /opt/fhem/log/CM160-%Y-%m.log CM160<

Soweit sieht doch eigentlich lles gut aus.... allerdings kann das anscheinend keine Werte auslesen, im Log kommt nämlich:

CM160: Invalid frame ID byte, expected 59 or 51, got 00  (Raw: 00 00 00 00 00 00 00 00 00 00 00)

und es erscheint nichts wertiges in den logfiles...

Gibts da noch nen Trick oder Workaround, den ich übersehen hab? Ein neueres Cm160.pm? Hat das vielleicht shcon mal jemand anderes unter RHEL o.ä. zum laufen bekommen? Der Server steht hier eh, weil NAS Ersatz und all sowas, da wollte ich ungerne noch einen PI dazustopfen..

Viele Grüße
Ralf

 

decade-submarginal