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

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

Vorheriges Thema - Nächstes Thema

axel.mohnen

Hallo Marc,

nein, es wird kein log geschrieben. Das Verzeichnis hat nicht existiert, aber ich hatte es schon manuell angelegt.
Zum Test habe ich am Anfang der startfhem den Befehl echo "Hello FHEM" >>/var/media/ftp/fhem/log/hmland.log abgesetzt.
Beim Neustart der FB wird kein Log geschrieben!
Wenn ich die startfhem über putty starte wird der Log geschieben.
Ich bekomme aber die Fehlermeldung:
cd /opt/fhem -> can't find directory
/opt/bin/perl  -> can't find directory

Das ist für mich die Bestätigung, das die startfehm im Verzeichnis "/var/media/ftp/fhem/bin/startfhem" nicht vom FHEM Server genutzt wird.

Workaround:
Ich habe mir jetzt ein eigenes Script geschrieben (starthmland), das muss ich zwar nach jedem FB neustart manuell ausführen, aber es funktioniert.

Interessant wäre jetzt zu wissen wie die FB den FHEM Server startet, damit ich mein starthmland dort triggern kann.

Vielen Dank.

Gruss
Axel

marc2

Hallo Axel,

wenn Du die reguläre AVM Software nimmst und FHEM als "Pseudo Image" installiert hast, muss
der Startaufruf von FHEM in  der /var/flash/debug.cfg stehen.

ZitatIch bekomme aber die Fehlermeldung:
cd /opt/fhem -> can't find directory
/opt/bin/perl  -> can't find directory

Die Fehler zeigen eigentlich, dass Du nicht das normale startfhem für die FB nutzt. Dort ist das
home Verzeichnis nämlich als "/var/InternerSpeicher/fhem" definiert.

Schau Dir mal Deine  /var/flash/debug.cfg an.

Gruß, Marc

reibuehl

Zitat von: marc2 am 24 Februar 2014, 23:45:03
Hallo Axel,

sieht für mich danach aus, dass Deine libusb nicht zum hmalnd passt. Nicht dass ich mit den 6.00
Binaries unter 6.03 Probleme gehabt hätte, aber ich habe noch einmal den hmland 0.094 frisch
für 6.03 gebaut. Diese Kombination läuft bei mir seit rund 10 Tagen.

Gruß, Marc

Ich versuche gerade, hmland mit meinem HM-CFG-USB2 auf meiner Fritzbox 7390 zum laufen zu bringen. Leider kommt auf der Konsole nur:

Can't detach kernel driver: Other error
Can't find/open hmcfgusb!
Can't initialize HM-CFG-USB!


und im FHEM Eventlog:

2014-03-01 10:14:43 HMLAN HMLAN2 DISCONNECTED
2014-03-01 10:14:43 HMLAN HMLAN2 cond: disconnected
2014-03-01 10:14:43 HMLAN HMLAN2 Xmit-Events: disconnected:1
2014-03-01 10:14:43 HMLAN HMLAN2 prot_disconnected: last
2014-03-01 10:14:43 HMLAN HMLAN2 cond: init
2014-03-01 10:14:43 HMLAN HMLAN2 Xmit-Events: init:1
2014-03-01 10:14:43 HMLAN HMLAN2 prot_init: last
2014-03-01 10:14:43 HMLAN HMLAN2 CONNECTED
2014-03-01 10:14:44 HMLAN HMLAN2 DISCONNECTED
2014-03-01 10:14:44 HMLAN HMLAN2 cond: disconnected
2014-03-01 10:14:44 HMLAN HMLAN2 Xmit-Events: disconnected:1
2014-03-01 10:14:44 HMLAN HMLAN2 prot_disconnected: last
2014-03-01 10:14:44 HMLAN HMLAN2 cond: init
2014-03-01 10:14:44 HMLAN HMLAN2 Xmit-Events: init:1
2014-03-01 10:14:44 HMLAN HMLAN2 prot_init: last
2014-03-01 10:14:44 HMLAN HMLAN2 CONNECTED


Ich verwende FritzOS 6.03 mit Freetz und die Binaries aus Marcs hmland-7390-0.094-6.03.tar.gz.

LD_LIBRARY_PATH habe ich gesetzt.

Was kann da falsch laufen?
Reiner.

marc2

Hallo Reiner,

als welcher User versuchst Du den hmland zu starten ? Du brauchst root Rechte.

Gruß, Marc

reibuehl

Ich war per SSH als root auf der Fritzbox eingelogt und habe hmland dort mit diesem Kommando gestartet:

cd /var/InternerSpeicher/fhem
export LD_LIBRARY_PATH=/var/InternerSpeicher/fhem/lib
./hmland -l 127.0.0.1 -p 1000 -d
Reiner.

marc2

Hi !

Es scheint als wenn noch ein Kernel Modul auf dem Device sitzt. Der hmland versucht es mit mit detach_kernel_driver zu entladen,
scheitert dabei aber und kann das Device daher nicht nutzen. Das startfhem läd auf der Fritzbox zwar per default Module, die z.B.
einen CUL unterstützen. Die sind bei mir aber auch geladen und stören nicht weiter (steck aber auch kein CUL - mehr - dran).

Schau mal mit lsmod nach was bei Dir so alles an USB-Modulen geladen ist. Wenn Du keinen CUL an der Fritzbox hast, kannst
du die ganzen insmods aus startfhem entfernen und die bereits geladenen module mir rmmod entladen.

Gruß, Marc

Hauswart

#321
Ich wollte eben meinen HM-CFG-USB updaten:
pi@raspberrypi /opt/hmcfgusb $ sudo ./flash-hmcfgusb /home/pi/tmp/hmusbif.03c7.enc
HM-CFG-USB flasher version 0.095-git

Reading firmware from /home/pi/tmp/hmusbif.03c7.enc...
Firmware with 368 blocks successfully read.

HM-CFG-USB not in bootloader mode, entering bootloader.

Waiting for device to reappear...
Can't claim interface: Resource busy
Can't find/open hmcfgusb!
Can't claim interface: Resource busy
Can't find/open hmcfgusb!
Can't claim interface: Resource busy
Can't find/open hmcfgusb!
Can't claim interface: Resource busy
Can't find/open hmcfgusb!
Can't claim interface: Resource busy
Can't find/open hmcfgusb!
Can't find/open hmcfgusb!
Can't find/open hmcfgusb!

HM-CFG-USB opened.

Flashing 368 blocks: /Interrupt transfer not completed: Unknown error code 5 / 0x05!
closing device-connection due to error 5


hmcfgusb_poll: Input/output error


Versuche es nun gleich mal mit einem Reboot...

Nach einem Reboot ging es dann nach mehreren Versuchen:
pi@raspberrypi /opt/hmcfgusb $ sudo ./flash-hmcfgusb /home/pi/tmp/hmusbif.03c7.enc
HM-CFG-USB flasher version 0.095-git

Reading firmware from /home/pi/tmp/hmusbif.03c7.enc...
Firmware with 368 blocks successfully read.

HM-CFG-USB opened.

Flashing 368 blocks: |

Firmware update successfull!
pi@raspberrypi /opt/hmcfgusb $ sudo ./hmland -i
HHM-USB-IF,03C7,JEQ0701211,1EBDF4,123456,000000EA,0000


Wo findet man eigentlich einen Changelog von HM-CFG-USB 2 FWs?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

hexenmeister

Habe mir den USB-Adapter besorgt und auf meinem Raspberry ausprobiert. Funktioniert sehr gut. Danke für das Program!
Interessanterweise sind die RSSI Werte sogar besser als mit meinem HMLAN. Einzelnes Ärgerniss - die USB2.0-Schnittstelle von Rasp. Die Log ist voll von "Can't send data"-Meldungen. Nach dem ich beim Firmware-Update den Stick zerfläsht habe, musste ich die Geschwindigkeit aus USB1.1-Niveau senken damit das Update klappt.  >:(

-Helge-

Nun also, ich nochmal:

Wenn ich die Synology starte, dann in der shell die beiden Zeilen unten
export LD_...
nohup ...

eingebe - mit hoffentlich richtiger ip und port 1000 - dann fhem neu starte, dann habe ich im Log stehen:


Opening hermes device 192..... :1000
Can't connect to 192...:1000: No route to host


Ihr merkt, ich bin ahnungslos - was bedeutet das?

Zitat von: marc2 am 19 Februar 2014, 15:58:39
............Wichtig ist auf jeden Fall das Setzen des LD_LIBRARY_PATH, damit die
libusb gefunden wird !

mkdir -p /volume1/@optware/bin /volume1/@optware/lib
ln -s /volume1/@optware /opt
cd /
gzip -cd  /tmp/hmland-88f6281-0.094.tar.gz | tar xvf -
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/lib
nohup /opt/bin/hmland -l 127.0.0.1 -p 1000 -d -r 04:00


Die letzten beiden Schritte sollten in einem passen Startscript verewigt werden.

Gruß, Marc

StofLE

Hat zufällig jemand die aktuelle Version 0.096-git für OpenWRT (ar71xx) compiliert?
Hab zurzeit keine Umgebung zum Crosscompilieren bereit.

cerberus

Hallo, kann mir bitte nochmal jemand eine kurze Zusammenfassung zur Einrichtung des HomeMatic USB Konfigurations-Adapter auf einem PI geben. Ich habe den Daemon um den USB Stick mit Fhem zum laufen zu bekommen auf mein PI nach folgender Beschreibung installiert https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb.

Frage ist wie ich den Daemon automatisch starten lassen kann. Ich habe in WIKI das Startscript gesehen aber auch hier im Forum gelesen das man den Daemon auch über die FHEM.cfg starten lassen kann. Ist das möglich und wenn ja wie?

Danke und Gruß
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

betateilchen

Über die fhem.cfg startet man gar nichts.

Im Startskript /etc/init.d/fhem musst Du einfach eine Zeile einfügen, die den hmland startet.

Bei mir sieht das beispielsweise so aus:


case "$1" in
'start')
        echo "Starting fhem..."
        /opt/fhem_add/hmcfgusb/hmland -d -p 1234
perl fhem.pl configDB
        RETVAL=$?
        ;;
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JanS

Mal ne andere Frage:
Hat denn mal wer beobachtet, ob das "Aufhängen" des Adapters im Sendebetrieb mit der neuen Firmware (0.967) von eQ3 noch auftritt?
Releasenotes sind irgendwie keine zu finden, leider.

EDIT:typo korrigiert

cerberus

Danke betateilchen, das Starten klappt schonmal. Wie hast du das beim Beenden und bzw. Restart von fhem gelöst. Weiterhin würde ich gern wissen wie ich einen LOG für HMLAN definieren kann, ich habe gesehen das die Nutzer der Fritzbox das irgenwie umleiten auf einen anderen Pfad.

Danke und Gruß
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

betateilchen

Zitat von: cerberus am 24 März 2014, 21:09:41
Wie hast du das beim Beenden und bzw. Restart von fhem gelöst

au mann...



udo@cubie:~> cat /etc/init.d/fhem
#!/bin/sh
# description: Start or stop the fhem server
# Added by Alex Peuchert

### BEGIN INIT INFO
# Provides:             fhem.pl
# Required-Start:       $local_fs $remote_fs
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    FHEM server
### END INIT INFO

set -e
cd /opt/fhem
port=7072

case "$1" in
'start')
        echo "Starting fhem..."
        /opt/fhem_add/hmcfgusb/hmland -d -p 1234
        perl fhem.pl configDB
        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."
        perl fhem.pl $port "shutdown"
        RETVAL=$?
        pkill hmland
        ;;
'status')
        cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "fhem is not running"
        else
                echo "fhem is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | status }"
        RETVAL=1
        ;;
esac
exit $RETVAL


-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!