HomeMatic USB Konfigurations-Adapter (HM-CFG-USB) in Fhem nutzen

Begonnen von mgernoth, 30 Mai 2013, 17:06:32

Vorheriges Thema - Nächstes Thema

gloob

Gibt es eigentlich eine bevorzugte Variante um hmland zu starten? ich habe es jetzt über den Start und Stop von FHEM realisiert, so wie es im Wiki steht.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

heikoh81

Gibt es Langzeiterfahrungen bzgl. Lebensdauer des HM-CFG-USB2 im Dauerbetrieb, z.B. an einem Raspi?
Im FHEM-Wiki wird auf diesen FHEM-Forums-Beitrag verwiesen, dass die Sticks gerne mal das Zeitliche segnen.

http://forum.fhem.de/index.php/topic,32502.msg249122.html#msg249122
Zitat von: Mr. P am 21 Januar 2015, 00:39:24
Hej Reiner,Falls du sonst nichts gemacht hast, befürchte ich, das dein Stick das Zeitliche gesegnet hat. Machen die Dinger leider sehr gerne... Ganz besonders beim Modus-Wechsel vom 10k- in den 100k-Modus, wenn man bei irgendeinem Device ein Firmwareupdate durchführt.
Die gute Nachricht ist, dass der Fehler bei sämtlichen Händlern bekannt ist und anstandslos getauscht wird.

Viele Grüße,
Heiko

gloob

Also mein Raspi läuft jetzt bei mir seit 32 Tagen ohne Neustart ohne Probleme.

Und ich erwarte in den kommenden Monaten daran auch keine Änderung mehr.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

volschin

Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Thorsten Pferdekaemper

Hi,
diese Frage ist mehr interessehalber: Woher weiß der hmland eigentlich, auf welches USB-Device er zugreifen muss?
Gruß,
   Thorsten
FUIP

Bennemannc

Hallo,

ich vermute über Hersteller und Typ. Jedes USB Gerät hat ja eine Kennung - und die kann man auswerten. Du könntest auch fragen wie die Netzwerkstreiber den WLAN USB-Stick erkennen, und vor allem dann auch noch den richtigen Treiber für das Teil laden.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Thorsten Pferdekaemper

Zitat von: Bennemannc am 12 Februar 2016, 12:14:22
ich vermute über Hersteller und Typ. Jedes USB Gerät hat ja eine Kennung - und die kann man auswerten. Du könntest auch fragen wie die Netzwerkstreiber den WLAN USB-Stick erkennen, und vor allem dann auch noch den richtigen Treiber für das Teil laden.
Ja, klar. Wenn jemand im FHEM-Forum genau weiss, wie das fuer WLAN-Sticks funktioniert, dann nehme ich auch das als Antwort. Allerdings gehe ich davon aus, dass das eher jemand fuer den hmland weiss.
Vielleicht etwas Hintergrund: Fuer die Module ECMD und HM485_LAN muss man das serielle Device manuell angeben. Da wird dann oft so etwas wie /dev/ttyusb0 benutzt. Dummerweise macht das Probleme, wenn man mehrere USB-Sticks am System hat. Daher wuerde ich gerne zumindest fuer HM485_LAN irgend einen Automatismus einbauen, der mir den richtigen Port ermittelt. Da dachte ich halt, das irgendwo abkupfern zu koennen.
...am besten waere es, wenn mir jemand das zugehoerige Coding zeigt.
Gruss,
  Thorsten
FUIP

Bennemannc

Hallo Torsten,

Du verwechselst da etwas. Der HMLAND geht auf Hersteller und ID - wenn Du das Teil in einen Rpi einsteckst und lsusb machst, siehst Du ein Gerät, bei dem nicht dahinter steht - es ist für Linux unbekannt. Dieses Gerät ist der HM-CFG-USB. Da steht ein 4 Stelliger Hersteller Code und ein 4 Stelliger Produkt Code
lpi@odroid-w:~$ lsusb                                                           
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wi
reless Adapter [Realtek RTL8188CUS]                                             
Bus 001 Device 003: ID 1b1f:c00f                                               
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB           
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub                 

Die 1b1f:c00f ist der HM-LAN-USB. HMLAND nimmt den und macht daraus ein Netzwerkgerät.
Das Problem mit den Stick ist ein anderes. Hier kommt es darauf an, welcher Stick sich als erstes meldet. Aber auch da gibt es eine Lösung. Suche mal nach udev - da kann man über Rules anhand der ID festlegen, welches Gerät welche tty bekommt.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

volschin

Ein Device über USB aus Perl anzusprechen, kannst Du Dir z.B beim CO20-Modul anschauen.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Thorsten Pferdekaemper

Zitat von: Bennemannc am 13 Februar 2016, 01:18:49Du verwechselst da etwas. Der HMLAND geht auf Hersteller und ID - wenn Du das Teil in einen Rpi einsteckst und lsusb machst, siehst Du ein Gerät, bei dem nicht dahinter steht - es ist für Linux unbekannt. Dieses Gerät ist der HM-CFG-USB. Da steht ein 4 Stelliger Hersteller Code und ein 4 Stelliger Produkt Code
So etwas in der Art hatte ich befürchtet. Der HM-CFG-USB ist anhand Hersteller- und Produktcode schon eindeutig zu identifizieren (zumindest solange man nur einen dranhängen hat). In meinem Fall hängt da ein generischer USB/Seriell-Wandler dran, der noch einen RS485-Treiber draufgesetzt hat. An den Codes kann man das Teil daher nicht von anderen seriellen Schnittstellen, wie z.B. durch das Modul ECMD benutzt, unterscheiden.

ZitatDas Problem mit den Stick ist ein anderes. Hier kommt es darauf an, welcher Stick sich als erstes meldet. Aber auch da gibt es eine Lösung. Suche mal nach udev - da kann man über Rules anhand der ID festlegen, welches Gerät welche tty bekommt.
Ich glaube, dass der Punkt einfacher zu lösen ist. Man kann einfach die Links in /dev/serial/by-id verwenden. Die Sticks sind da als sowas wie folgt eingetragen:
                 /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A504DLYK-if00-port0
Das kann man dann in der Device-Definition verwenden. Allerdings würde ich gerne noch eine Stufe weiter gehen, und da einen Automatismus einbauen. ...aber das geht dann wohl nicht, zumindest nicht vollständig.
Danke&Gruß,
    Thorsten
FUIP

Bennemannc

Hallo,

warum sol das nicht gehen ? Mit den Rules von udev kannst Du festlegen, welcher Stick als weches USB Dev eingebunden wird. Ich hatte z.B. auf meinem Cubietruck mit Cubieez nur ein wlan1 - obwohl ich nur das interne Wlan hatte. In den Rules war ein Realtek-Stick als wlan0 eingetragen. Da dieser nicht vorhanden war, wurde das wlan-interface automatisch als wlan1 (nächste freie Nummer) erstellt. Wenn Du das für 2 Sticks einstellst, wird der Stick immer richtig eingebunden, selbst wenn nur einer eingesteckt ist und der eigentlich Nr2 hat.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Thorsten Pferdekaemper

Zitat von: Bennemannc am 13 Februar 2016, 22:07:30
warum sol das nicht gehen ?
Hi,
ich habe nicht gesagt, dass es nicht geht. Es ist nur unnötig. Man kann in der FHEM-Definition gleich die Gerätenamen aus  /dev/serial/by-id verwenden, dann hat man das Problem nicht.
Sicherlich könnte man das auch mit udev-Regeln machen, aber warum sollte man?
Gruß,
   Thorsten
FUIP

Mike081

Hallo

Ich hätte eine Frage: homematic USB stick funktioniert nun auf raspberry.
2 gaerete habe ich im Einsatz jedoch bekomme ich folgenden Meldung (soll nicht so kritisch sein?):
configCheck done:

missing register list
    HM_2DBB5C:   RegL_00.
    HM_2DBB5C_Pwr:   RegL_01.
    HM_2DBB5C_SenF:   RegL_01.
    HM_2DBB5C_SenI:   RegL_01.
    HM_2DBB5C_SenPwr:   RegL_01.
    HM_2DBB5C_SenU:   RegL_01.
    HM_2DBB5C_Sw:   RegL_01.
    HM_308855:   RegL_00.
    HM_308855_Clima:   RegL_01.,RegL_07.
    HM_308855_ClimaTeam:   RegL_01.
    HM_308855_Climate:   RegL_01.
    HM_308855_Weather:   RegL_01.
    HM_308855_WindowRec:   RegL_01.
    HM_308855_remote:   RegL_01.

peer list incomplete. Use getConfig to read it.
    incomplete: HM_2DBB5C_SenF:
    incomplete: HM_2DBB5C_SenI:
    incomplete: HM_2DBB5C_SenPwr:
    incomplete: HM_2DBB5C_SenU:
    incomplete: HM_2DBB5C_Sw:
    incomplete: HM_308855_Clima:
    incomplete: HM_308855_ClimaTeam:
    incomplete: HM_308855_Climate:
    incomplete: HM_308855_Weather:
    incomplete: HM_308855_WindowRec:
    incomplete: HM_308855_remote:

templist mismatch
    HM_308855_Clima: file: ././tempList.cfg for HM_308855_Clima does not exist




Mein Problem: die Messwerte erhalte icg regelmäßig von den Geräten. Jedoch kann ich die Befehle nicht schicken und die Geräte steuern. Habt Ihr die Idee was schied gegangen ist? rechte? Danke

Bennemannc

Hallo,

dann mach doch mal das, was da steht "getConfig" - für die Steckdose. Da das Meldungen aus HMInfo kommen - lese doch auch das Thermostat mit "getConfig" aus und speichere die Temperatureinstellungen mit set HMINFO temListG save. Dann werde die Werte gespeicher und beim Vergleich stimmen diese dann auch.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Mike081

Zitat von: Bennemannc am 19 Februar 2016, 22:38:18
Hallo,

dann mach doch mal das, was da steht "getConfig" - für die Steckdose. Da das Meldungen aus HMInfo kommen - lese doch auch das Thermostat mit "getConfig" aus und speichere die Temperatureinstellungen mit set HMINFO temListG save. Dann werde die Werte gespeicher und beim Vergleich stimmen diese dann auch.

Gruß Christoph

Danke für den Hinweis. Leider funktioniert es nicht. Einmal bekomme ich die Rückmeldung    
RESPONSE TIMEOUT:RegisterRead und bei dem anderen Gerät MISsING ACK. Was bei mir auch nicht funktioniert: ich kann nicht die Geräte steuern ---> on/off befehle funktionieren nicht. Auch set desired Temperatur....