Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hm2mqtt will einfach nicht #22

Open
freifunk-bamberg opened this issue Sep 27, 2018 · 3 comments
Open

hm2mqtt will einfach nicht #22

freifunk-bamberg opened this issue Sep 27, 2018 · 3 comments

Comments

@freifunk-bamberg
Copy link

Habe hier eine ccu2 und das addon installiert,
über den config den broker angegeben, save und start geklickt.

es passiert nichts, wenn ioch stop klicke kommt die fehlermeldung " no such process"

was habe ich da flasch gemacht?

@wagner4u
Copy link

wagner4u commented Oct 1, 2018

Hallo, ich hatte dasselbe Problem auch nach Installation von RaspberryMatic 3.37.8.20180929.
Es kam zwar beim Start des Prozesses in der WebUI die Meldung 'Ok', aber der Prozess ist nicht da.
Nach einigem Suchen, habe ich den Grund gefunden:
In /usr/local/etc/config/rc.d/
wird in hm2mqtt unter 'Start' nach dem falschen JAVA-Pfad gesucht.
In Raspberrymatic muss es heissen statt:
f [ -x "/opt/jre/bin/java" ]; then
JAVA_BIN=/opt/jre/bin/java
richtig:
f [ -x "/opt/java/bin/java" ]; then
JAVA_BIN=/opt/java/bin/java

Dann klappt es:
In einer CCU2 hatte ich ein ähnliches Problem.
Schau mal nach, ob der Pfad überhaupt existiert.

Ggfs. müsste in Rasperberrymatic unter /opt ein Link angelegt werden
mit 'ln -s /opt/java-azul /opt/jre'.
Das ist aber ein read-only device und daher sollte das in der Distribution gemacht werden.
Volker

@Hypnos3
Copy link

Hypnos3 commented Dec 4, 2018

Hallo,

hier gibt es keine Weiterentwicklung, da @owagner nicht mehr da ist (R.I.P).

Der Nachfolger dieses Projektes ist hm2mqtt.js und der hat bereits wieder einen Nachfolger:

Hypnos

hangy added a commit to hangy/hm2mqtt that referenced this issue Dec 8, 2019
@tricoos
Copy link

tricoos commented Nov 1, 2020

Die Alternativen RedMatic und das Node-Red Addon setzen eine CCU3 voraus - hm2mqtt.js läuft auch nicht mit einer CCU2, daher scheint es keine Alternativen für CCU2-Besitzer zu geben.

Ich habe aber diese Software lauffähig bekommen auf einer CCU2 (!). Leider hat @owagner (möge er in Frieden ruhen) keinerlei Fehlermeldungen geloggt, weshalb man keinerlei Hilfe dabei hat, wenn man herausfinden möchte, woran es liegt - über die Standard-Logs der CCU2 - selbst nicht auf DEBUG.

Hiermit konnte ich das Problem lösen - und es werden dann auch Nachrichten per MQTT gesendet - ob alles funktioniert, weiß ich allerdings nicht:

Ursache: ich hatte "Enable hs485d (Wired)" aktiviert, da es standardmäßig angehakt war. Hat man aber kein RS485-LAN-Gateway angeschlossen schlägt der Start fehl, da versucht wird, auf Port 2001 zuzugreifen, auf dem aber nichts läuft. Das wird dann bis in alle Ewigkeit wiederholt ohne dass überhaupt die Initialisierung abgeschlossen werden konnte.
Haken rausgenommen, gespeichert und das hat das Problem gelöst!

So habe ich es debugged (ggf. hilfreich, wenn jemand andere Fehler analysieren möchte):

  1. SSH-Login auf der CCU2 (als der Service lief, gestartet via Web-Interface)
  2. ps -afe | grep hm2 - zeigt den kompletten Prozessaufruf an
  3. Den Dienst über die Web-UI gestoppt
  4. Per SSH den Befehl kopiert und manuell ausgeführt: /opt/jre/bin/java -Xmx32m -jar /usr/local/addons/hm2mqtt/hm2mqtt.jar hm.localhost=127.0.0.1 mqtt.server=tcp://10.10.10.60:1883 hm.host=127.0.0.1:2001,127.0.0.1:2000 hm.clientid=hm2mqtt mqtt.topic=homematic/

Da erschienen dann auch schon die ganzen Meldungen:
WARNING: Init to 127.0.0.1:2000 with binary://127.0.0.1:41411 failed java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:211) at com.tellerulam.hm2mqtt.HMXRConnection.sendRequest(HMXRConnection.java:102) at com.tellerulam.hm2mqtt.HMXRConnection.sendRequest(HMXRConnection.java:132) at com.tellerulam.hm2mqtt.HMXRConnection.sendInit(HMXRConnection.java:86) at com.tellerulam.hm2mqtt.HM.sendInits(HM.java:27) at com.tellerulam.hm2mqtt.HM.doInit(HM.java:113) at com.tellerulam.hm2mqtt.HM.init(HM.java:15) at com.tellerulam.hm2mqtt.Main.main(Main.java:61)

Port 2000 führte dann über Google zur Ursache, die mich dazu brachte, den Haken rauszunehmen

  1. Ausführung gestoppt / Strg+C/Strg+Z mit kill -9 {PID}, falls es anders nicht geht

Den Dienst kann man auch mittels /usr/local/etc/config/rc.d/hm2mqtt stop bzw. /usr/local/etc/config/rc.d/hm2mqtt start per SSH stoppen und starten.

Hoffe das hilft jemandem! Wie geschrieben scheint es sonst keinerlei Alternative für CCU2-Besitzer zu geben!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants