Homematic USB-Konfigurationsadapter einrichten

Begonnen von Apollon, 12 Dezember 2017, 16:23:21

Vorheriges Thema - Nächstes Thema

Apollon

Hallo,

ich hatte FHEM längere Zeit unter Jessie laufen und habe vor einiger Zeit ein update auf Stretch gemacht. Wie ich nun festgestellt habe, ist eine update des OS nicht sehr sinnvoll. Es sind immer noch viele Dinge von Jessie auf dem System geblieben. Zudem funktionieren einige Dinge nicht mehr.
Daher habe ich mich entschieden, das System kompl. neu aufzusetzen.
Ich habe neben FHEM noch Kodi auf dem Rechner. FHEM ist noch iim Auslieferungszustand. Bevor ich mein FHEM-update installiere, möchte ich zunächst meinen Homematic USB-Konfigurationsadapter einrichten.  Ich bin (so glaube ich) genau so vorgegangen, wie bei meiner ursprünglichen Installation (gem. FHEMWIKI).
cd /opt/
apt-get install build-essential libusb-1.0-0-dev make gcc git-core
git clone git://git.zerfleddert.de/hmcfgusb
cd hmcfgusb
make


Weiterhin bin ich vorgegangen, wie von Betateilchen in FHEMWIKI vorgeschlagen.
sudo cp hmcfgusb.rules /etc/udev/rules.d/
Die Startdatei unter init.d habe ich geändert, so dass mit FHEM auch der USB-Adapterdienst startet. Doch der Dienst startet nicht. Weder manuell noch automatisch. Ich finde meinen Fehler nicht.

Erkennt jemand wo ich einen Fehler gemacht habe?

Gruß
Apollon

digiart

Gibt es irgendwelche Ausgaben, wenn Du hmland -D -v -p 1234 eingibst?

Wie rufst du hmland im init-Script auf?
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Apollon

Hallo,

ich habe gerade keinen Zugriff auf das System. Werde ich erst heute Nachmittag ausprobieren können.
Ja, ich habe es auch mit hmland -D -v -p 1234 probiert. Es kommt dann eine Authentifizierungsabfrage (pi oder root). Die Rückmeldungen habe ich nicht mehr im Kopf. Ich liefere sie heute Nachmittag.

In fhem unter init.d habe ich aus der Standarddatei die Kommentierung entfernt. So ist es auch in meinem alten System, bei dem es funktioniert.

Gruß
Apollon

frank

unter jessie hat bei mir irgendwann systemd das starten der dienste übernommen. im forum gibt es beispiele dazu.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Apollon

@frank
Das Problem ist wohl nicht der Autostart, sondern der Start des Dienstes von hmland im allgemeinen.
systemctl/ systemd ist doch nur eine andere Variante des Autostarts. Da FHEM immer noch über init.d gestartet wird, kann doch auch hmland darüber gestartet werden.
Korrigiere mich, wenn ich falsch liege.

MadMax-FHEM

Zitat von: Apollon am 13 Dezember 2017, 11:52:54
@frank
Das Problem ist wohl nicht der Autostart, sondern der Start des Dienstes von hmland im allgemeinen.
systemctl/ systemd ist doch nur eine andere Variante des Autostarts. Da FHEM immer noch über init.d gestartet wird, kann doch auch hmland darüber gestartet werden.
Korrigiere mich, wenn ich falsch liege.

Keine Korrektur notwendig.

Habe mein System mit Stretch neu aufgesetzt und wie im Wiki einfach den Eintrag in der Startdatei von fhem vorgenommen.

Allerdings lief hmland nat. beim manuellen starten...

Bin grad unterwegs und nur Mobil daher kurz und keine genaueren Angaben...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

frank

ich hatte nur den automatischen start im kopf.
gibt es im syslog denn keine hinweise zum manuellen startversuch.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Apollon


Apollon

Ich habe gerade /opt/hmcfgusb/hmland -p 1234 -D eingegen. Folgende Meldung habe ich erhalten:
Can't bind socket: Address already in use

frank

ich würde vermuten, dass der peer 1234 belegt ist und einen anderen versuchen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Apollon

#10
Der Port 1234 kann nur vom USB-Adapter belegt sein.
Ich kopiere gerade das letzte funktionierende Image, da ich mit meinen Versuchen gescheitet bin und das System nun durcheinander ist.

Ich verstehe das nicht, als ich den Adapter neu hatte, habe ich keine nennenswerten Probleme ihn einzubinden gehabt.

Apollon

Ich habe heute noch mehrer Varianten probiert. Die letzte Variante war ein nacktes Stretch.

Zunächst Perl installiert.
Dann:cd /opt
apt-get install build-essential libusb-1.0-0-dev make gcc git-core
git clone git://git.zerfleddert.de/hmcfgusb


Ergebnis: Klone nach 'hmcfgusb' ...
remote: Counting objects: 696, done.
remote: Compressing objects: 100% (673/673), done.
remote: Total 696 (delta 440), reused 0 (delta 0)
Empfange Objekte: 100% (696/696), 150.20 KiB | 0 bytes/s, Fertig.
Löse Unterschiede auf: 100% (440/440), Fertig.


Das Ergebnis von make: gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o hmland.o hmland.c
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o hmcfgusb.o hmcfgusb.c
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o util.o util.c
gcc -L/opt/local/lib  hmland.o hmcfgusb.o util.o  -lusb-1.0 -lrt -o hmland
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o hmsniff.o hmsniff.c
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o hmuartlgw.o hmuartlgw.c
gcc -L/opt/local/lib  hmsniff.o hmcfgusb.o hmuartlgw.o  -lusb-1.0 -lrt -o hmsniff
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o flash-hmcfgusb.o flash-hmcfgusb.c
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o firmware.o firmware.c
gcc -L/opt/local/lib  flash-hmcfgusb.o hmcfgusb.o firmware.o util.o  -lusb-1.0 -lrt -o flash-hmcfgusb
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o flash-hmmoduart.o flash-hmmoduart.c
gcc -L/opt/local/lib  flash-hmmoduart.o hmuartlgw.o firmware.o util.o  -lusb-1.0 -lrt -o flash-hmmoduart
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o flash-ota.o flash-ota.c
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o culfw.o culfw.c
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o hm.o hm.c
gcc -MMD -O2 -Wall -I/opt/local/include -g   -c -o aes.o aes.c
gcc -L/opt/local/lib  flash-ota.o hmcfgusb.o culfw.o hmuartlgw.o firmware.o util.o hm.o aes.o  -lusb-1.0 -lrt -o flash-ota


Nach folgenden Befehl  passiert nichts:/opt/hmcfgusb/hmland -p 1234 -D

Ein service hmland start führt zu folgenden Ergebnis: Failed to start hmland.service: Unit hmland.service not found.


Ich bin nun endgültig ratlos. Warum läuft der Dienst nicht? Warum fehlt hmland.service?