Openhab 3: Homematic Binding online aber es werden keine Homematic Devices gefunden

Es liegt wohl an der Homegear-Installation selbst. Ich sehe zwar keien Fehlermeldugn im Logfile, aber das commdandline interface läuft nicht richtig. Ich kann zwar CLI aufrufen, aber selbst das Hilfemenü wird nicht angezeigt und es kommt keine Antwort mehr:


> openhabian@openHABianPi:~ $ sudo homegear -r
> [sudo] password for openhabian:
> Connected to Homegear (version 0.9.22112505-3605).
> 
> Please type >>help<< to list all available commands.
> > h

Homegear habe ich nun gelöscht und neu insalliert, so dass es wieder läuft.
Allerdings habe ich jetz in openhab das Problem, dass die Homemaic Bridge nicht funktionert:

Bei mir zeigt Openhab auch die Fehlermeldung “Connection Refused”

14:47:32.237 [DEBUG] [ternal.handler.HomematicBridgeHandler] - HomematicConfig[gatewayAddress=raspi-hg,callbackHost=192.168.178.35,xmlCallbackPort=9125,binCallbackPort=9126,gatewayType=auto,rfPort=2001,wiredPort=2000,hmIpPort=2010,cuxdPort=8701,groupPort=9292,timeout=15,discoveryTimeToLive=-1,installModeDuration=60,socketMaxAlive=900]
14:47:32.359 [INFO ] [nternal.communicator.client.RpcClient] - Interface 'WIRED' on gateway '61ae080193' not available, disabling support
14:47:32.369 [INFO ] [nternal.communicator.client.RpcClient] - Interface 'HMIP' on gateway '61ae080193' not available, disabling support
14:47:32.378 [INFO ] [nternal.communicator.client.RpcClient] - Interface 'CUXD' on gateway '61ae080193' not available, disabling support
14:47:32.388 [INFO ] [nternal.communicator.client.RpcClient] - Interface 'GROUP' on gateway '61ae080193' not available, disabling support
14:47:32.398 [DEBUG] [communicator.AbstractHomematicGateway] - Initializing gateway with id '61ae080193'
14:47:32.404 [INFO ] [communicator.AbstractHomematicGateway] - HmGatewayInfo[id=HOMEGEAR,type=Homegear,firmware=0.9.22110315-3600,address=VBC8828257,rf=true,wired=false,hmip=false,cuxd=false,group=false]
14:47:32.410 [DEBUG] [communicator.AbstractHomematicGateway] - Used Homematic transfer modes: RF:BIN_RPC
14:47:32.417 [DEBUG] [rnal.communicator.server.BinRpcServer] - Initializing BIN-RPC server at port 9126
14:47:32.423 [DEBUG] [nternal.communicator.client.RpcClient] - Register callback for interface BidCos-RF
14:47:32.436 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Stopping Homematic discovery scan
14:47:32.450 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Waiting for finishing Homematic device discovery scan
14:47:32.460 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Finished Homematic device discovery scan on gateway '61ae080193'
14:47:32.468 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Starting Homematic discovery scan
14:47:32.474 [DEBUG] [nternal.communicator.client.RpcClient] - Submitting setInstallMode(on=true, time=60, mode=1)
14:47:32.489 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Successfully put controller in install mode. Remaining time: 60 seconds
14:47:32.494 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Waiting for finishing Homematic device discovery scan
14:47:32.695 [DEBUG] [rnal.communicator.client.BinRpcClient] - BinRpcMessage socket failure, sending message again 1/3
14:47:32.705 [DEBUG] [rnal.communicator.client.BinRpcClient] - BinRpcMessage socket failure, sending message again 2/3
14:47:32.712 [DEBUG] [rnal.communicator.client.BinRpcClient] - BinRpcMessage socket failure, sending message again 3/3
14:47:32.719 [ERROR] [overy.HomematicDeviceDiscoveryService] - Verbindungsaufbau abgelehnt (Connection refused)
java.net.ConnectException: Verbindungsaufbau abgelehnt (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:?]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) ~[?:?]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) ~[?:?]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) ~[?:?]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:?]
        at java.net.Socket.connect(Socket.java:609) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.client.SocketHandler.getSocket(SocketHandler.java:50) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:80) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:95) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:95) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:95) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:71) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.client.RpcClient.listDevices(RpcClient.java:211) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.getDeviceDescriptions(AbstractHomematicGateway.java:453) ~[?:?]
        at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.loadAllDeviceMetadata(AbstractHomematicGateway.java:377) ~[?:?]
        at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.lambda$0(HomematicDeviceDiscoveryService.java:209) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
14:48:32.467 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Stopping Homematic discovery scan
14:48:32.483 [DEBUG] [nternal.communicator.client.RpcClient] - Submitting setInstallMode(on=false, time=0, mode=1)
14:48:32.501 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Finished Homematic device discovery scan on gateway '61ae080193'
14:48:32.504 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Waiting for finishing Homematic device discovery scan
14:48:32.512 [DEBUG] [communicator.AbstractHomematicGateway] - Starting connection tracker for gateway with id '61ae080193'
14:48:32.523 [DEBUG] [overy.HomematicDeviceDiscoveryService] - Finished Homematic device discovery scan on gateway '61ae080193'

Ich habe weiterhin ganz stark den Verdacht, dass es am Homegear RPC-Server liegt.
Mir fällt aber keine Idee ein, wie ich das weiter debuggen könnte - wenn jemand einen Tipp für mich hat, dann schaue ich aber gerne nochmal weiter.

Viele Grüße

FiveEights

Bei mir hatte jede Installation in letzter Zeit den Abbruch der Installation des ersten Familienmoduls (bei mir philips-hue) zur Folge. Eine zweite Installation hat dieses Problem behoben. Kann es sein, dass sowas bei euch auch passiert ist, nur eben mit homematic?

Ich habe mir die Geschichte nochmal angeschaut und kann jetzt bestätigen, dass die Kommunikation zwischen openHAB (2.5) und homegear mit 0.9.22111910-3605 nicht mehr funktioniert.

Ich vermute, dass ich bei den letzten Tests einfach falsch geschaut habe, und auf Items geachtet habe, die über mqtt nach openHAB kommen.

Da hier mehrfach die RPC Server angesprochen wurden habe ich die default-Konfiguration genommen, und auf meine IPs angepasst. Das hat leider keine Abhilfe gebracht, Kommunikation läuft weiterhin nicht.

Es ist bei mir übrigens der Effekt, dass die Bridge online ist, aber die devices nicht übertragen werden.
Es kommt im Log von openHAB die Meldung

Device with address 'NEQXXXXXXX' not found on gateway 'homegear'

Ich benutze Things und Items Files, daher weiss das System wonach es suchen soll, findet es aber nicht.

Vielleicht kann @sathya die letzen Änderungen an der Schnittstelle reviewen?
Meine Installation von openHAB2 ist über 2 Jahre alt, daher ist es unwahrscheinlich, dass der Fehler dort zu suchen ist.

Hallo,

ich würde gerne in diesem Zusammenhang auch nochmal auf meinen Thread Zugriff auf RPC Server triggert Homegear-Neustart verweisen.

Mittlerweile deutet Vieles auf ein Issue mit dem RPC Server hin.

Ich habe das mittlerweile auf eine komplett frischen Homegear-Installation des Nightlies auf einem alten Laptop unter Ubuntu nochmal probiert und es zeigt sich das gleiche Verhalten.

Viele Grüße

FiveEights

Kannst du deine Testinstanz mal mit einer stable-Version prüfen? Das macht die Eingrenzung des Problems einfacher.

Ich trau mich irgendwie nicht, auf eine 0.8er zurück zu gehen, dafür funktioniert bei mir noch zuviel …

Hallo,

gute Idee, leider kann ich keine Stable oder Testing Homegear Version installieren.
Bei mir läuft Ubuntu 22.04 LTS “Jammy Jellyfish” und es werden keine Homegear-Packages im Repository gefunden.

/etc/apt/sources.list.d/homegear.list ist angepasst, wie auf der Homegear-Download Seite beschrieben.

Weder im dem Shell-Skript von der Download Seite noch mit dem Paketinstaller von Ubuntu werden die Homegear Packages für meine Ubuntu-Version gefunden. Es funktioniert nur die Installation des Nightly.

Wenn mir hier jemand einen Tipp geben kann, dann teste ich gerne eine frühere Version.

Viele Grüße

FiveEights

Kann man nicht beim Installer auswählen, welche Version installiert werden soll? Ich meine, da etwas gesehen zu haben. Oder ist das nur auf Raspbian so?

Hallo,

ja richtig, man kann im Installer Skript auswählen, welche Version installiert werden soll.

Von Stable, Testing und Nightly funktioniert aber leider nur Nightly. Bei den anderen Versionen bricht der Installer ab, weil die Pakete nicht geladen werden können.

VG

FiveEights

Also ich nutze

# homegear -v
Homegear version 0.9.22122507-3614
Copyright (c) 2013-2020 Homegear GmbH

Required library versions:
  - libhomegear-base: 0.9.22122507-3614
  - libhomegear-node: 0.1.8-61
  - libhomegear-ipc:  0.1.2-46

Included open source software:
  - Node.js (license: MIT License, homepage: nodejs.org)
  - PHP (license: PHP License, homepage: www.php.net):
      This product includes PHP software, freely available from <http://www.php.net/software/>
      Copyright (c) 1999-2020 The PHP Group. All rights reserved.

und habe keine Probleme mit dem neueste openHAB release.

P.S.: Irgendwer sollte mal das Copyright-Jahr anpassen, am besten schon auf 2023 :wink:

Du hast es gut, @Flole.
Ich habe auf deinen Hinweis mal auf die aktuelle openHAB und Homegear Version upgedated und der Effekt ist der gleiche wie bei openhab2.

:/home/pi# homegear -v
Homegear version 0.9.23012700-3625
Copyright (c) 2013-2020 Homegear GmbH

Required library versions:
  - libhomegear-base: 0.9.23012700-3625
  - libhomegear-node: 0.1.8-61
  - libhomegear-ipc:  0.1.2-46

Included open source software:
  - Node.js (license: MIT License, homepage: nodejs.org)
  - PHP (license: PHP License, homepage: www.php.net):
      This product includes PHP software, freely available from <http://www.php.net/software/>
      Copyright (c) 1999-2020 The PHP Group. All rights reserved.

Die Bridge wird gefunden, aber kein einziges Gerät funktioniert oder wird erkannt. :frowning:
Dann wechselt die Bridge immer zyklisch den Status:

changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Connection lost
changed from OFFLINE (COMMUNICATION_ERROR): Connection lost to ONLINE

Das muss irgendwas mit dem rpc Server zu tun haben. Kannst Du mal deine diesbezügliche Konfiguration zeigen (/etc/homegear/rpcservers.conf und evt. auch rpcclients.conf )?

Danke!

Die Konfiguration ist bei mir tatsächlich noch “alt” und gefühlt ewig nicht angefasst worden, könnte also die Ursache sein.

[RPCServer1]
# Interface to bind the RPC server to. By default IPv4 and IPv6 are
# enabled. If you want to only use IPv4 set "interface" to "0.0.0.0".
# Default: interface = ::
interface = 0.0.0.0
# The port number to bind the RPC server to. This setting is mandatory.
port = 2001
# Enable Homegear's XML-RPC and binary RPC server on this port.
# Default: true
xmlrpcServer = true
# Enable Homegear's JSON-RPC server on this port.
# Default: true
jsonrpcServer = true
# Enable Homegear's build-in web server on this port
# Default: false
webServer = true
# Enable Homegear's REST server on this port
# Default: false
restServer = true
# Path to static web content used by the web server
# Default: /var/lib/homegear/www
contentPath = /var/lib/homegear/www/rpc
# Default: contentPathPermissions = 550
# contentPathPermissions = 550
# Default: contentPathUser =
# contentPathUser = homegear
# Default: contentPathGroup =
# contentPathGroup = homegear
# Enable Homegear's build-in WebSocket server on this port
# WARNING: Enabling Websockets without authentication is a high security risk!
# So make sure, webSocketAuthType is not set to none!
# Default: false
webSocket = true
# Set ssl to "true" to enable SSL support
ssl = false
# You can specify the authentication type your server uses here.
# Can be one of the following:
# - none: No authentication is required
# - basic: Use basic authentication
# - cert: Use certificate authentication (only works when "ssl" is "true")
# Default: authType = cert
authType = none
# You can specify the websocket authentication type here. Never ever use basic auth
# over an unencrypted connection!
# Can be one of the following: none, basic, session
# "session" checks for the PHP session variable "authorized", which must be set
to
# "true" for the authentication to succeed.
# Default: webSocketAuthType = session
webSocketAuthType = session

In den rpcclients habe ich nichts eingestellt.

Danke!
Leider hat es nichts gebracht. Meine rpcservers.conf sieht fast genauso aus, nur dass ich ein festes Interface benutze. :frowning:

Ich benutze node-blue, homegear-admin, homegear-ui und homegear-gateway.

Mir scheint es so als wenn die Kommunikation aller Services über Port 2001 läuft. Welche Teile von homegear benutzt du?

Stell mal das debug level von dem openHAB Binding auf DEBUG und schau mal was dann im Log steht.

Ich nutze in openHAB übrigens die textbasierte Konfiguration, eventuell ist nur die funktionsfähig?

Hallo,

ich bin echt erleichtert, dass sich hier im Forum mal wieder etwas tut. Ist leider echt ruhig geworden hier…

Ich habe genau die gleichen Symptome auch mit Home Assistant beobachtet und deswegen vermute ich, dass es am Homegear RPC Server liegt. Bei mir läuft das aktuelle Homegear Nightly 0.9 unter Raspbian Stretch.

Könnt Ihr bitte mal in meinen Thread Zugriff auf RPC Server triggert Homegear-Neustart schauen und checken, ob der Homegear Neustart bei Euch auch auftritt ?
Anscheinend reicht schon dieser recht einfach Zugriff auf den RPC Server um das Issue auszulösen und es gibt mittlerweile einige Threads, wo Leute über RPC Probleme klagen.

Meine Homegear Installation läuft seit Jahren problemlos, deswegen halte ich meine Konfiguration für zuverlässig und eigentlich habe ich an der rpcservers.conf kaum etwas geändert.

Vielen Dank für Eure Unterstützung!

FiveEights

Der Neustart passiert bei mir auch.

Die nutze ich auch. Ich habe es aber auf der neuen openhab Instanz mal ohne probiert. Gleicher Effekt.

Genau wie bei mir.

Der Neustart klingt verdächtig. Häng da am besten mal einen Debugger dran, ich rechne fest damit, dass es der beim reproduzieren des Problems ein Signal bekommen wird (vermutlich segmentation fault) und dann kann man mal schauen wo bzw. wieso.

Ich werde mal schauen ob der bei mir auch passiert, glaube aber nicht.

Mit der aktuellen openHAB Version kann ich den Neustart von homegear 100% reproduzieren. Ich muss nur nach Homematic-Geräten scannen lassen, dann startet homegear sang- und klanglos neu.

Zusätzlich sind alle meine über Text konfigurierten Geräte “not found on gateway”

Nachdem ich jetzt auch wieder rausgefunden habe, wie man den Debug-Level in openhab erhöht, kann ich sehen, dass die ganzen Gerätevariablen und Systemvariablen übertragen werden. Wahrscheinlich kommen die nur mangels Geräten nicht an. :frowning:

Nachtrag: auch die Systemvariablen kommen nicht in den Items an. :frowning:
Nachtrag 2: Was auch logisch ist, da die ja am Gateway-Extras-Gerät hängen, wenn ich mich recht erinnere.

Nachtrag 3: So mit folgendem Kommando kann ich Homegear reproduzierbar zum Absturz/Neustart bringen:

sudo homegear -e rc 'print_r($hg->listDevices())'

Wäre echt toll, wenn @sathya da mal schauen könnte.

Habe auch mal ein Issue auf github erstellt, da scheint @sathya ja ab und zu noch reinzuschauen.

@flole, könntest Du mal prüfen, was bei dir mit dem Kommando passiert?

1 Like

Nach meinen gestrigen Erkenntnissen vermute ich, dass Du die gleichen Probleme haben wirst, wenn openHAB seine Devices neu aufbauen muss. Das things-File ist ja nur eine Art Import für die interne Struktur. Das würde auch erklären, warum ich anfangs das Problem nicht gesehen habe.