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

HM Server (Virtuelle Geräte) startet nicht ohne HM-MOD-PCB #141

Closed
thkl opened this issue Aug 17, 2017 · 12 comments
Closed

HM Server (Virtuelle Geräte) startet nicht ohne HM-MOD-PCB #141

thkl opened this issue Aug 17, 2017 · 12 comments
Labels
⚓ upstream issue This is a bug/issue for/in upstream software (OCCU, etc.) 🐛 bug-report Something isn't working

Comments

@thkl
Copy link

thkl commented Aug 17, 2017

Wenn kein Funkmodul am Raspberry angeschlossen ist startet der HMIP Server nicht richtig und damit sind die Virtuellen Geräte nicht verfügbar.

/var/log/hmserver.log

Aug 17 17:52:56 de.eq3.cbcs.server.local.base.internal.LocalServerAdapterInitialization ERROR [vert.x-eventloop-thread-3] Error 'LOCAL_ADAPTER_NO_SUCH_PORT' while trying to open port '/dev/ttyS0': 
de.eq3.cbcs.lib.commdevice.CommDeviceException: Exception while trying to open serial port. Check configured port '/dev/ttyS0'
	at de.eq3.cbcs.lib.nrjavaserialdevice.SerialCommDevice.open(SerialCommDevice.java:109)
	at de.eq3.cbcs.lib.hmiptrxcommadapter.HomeMaticIPTRXCommAdapter.open(HomeMaticIPTRXCommAdapter.java:716)
	at de.eq3.cbcs.lib.hmiptrxcommadapter.HomeMaticIPTRXCommAdapter.<init>(HomeMaticIPTRXCommAdapter.java:85)
	at de.eq3.cbcs.server.local.base.internal.ShareableHomeMaticIPTRXCommAdapter.<init>(ShareableHomeMaticIPTRXCommAdapter.java:25)
	at de.eq3.cbcs.server.local.base.internal.LocalServerAdapterInitialization.start(LocalServerAdapterInitialization.java:171)
	at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:111)
	at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434)
	at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:316)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:418)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:440)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)
	at java.lang.Thread.run(Thread.java:748)
Caused by: gnu.io.NoSuchPortException
	at gnu.io.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:294)
	at de.eq3.cbcs.lib.nrjavaserialdevice.SerialCommDevice.open(SerialCommDevice.java:100)
	... 12 more
Aug 17 17:52:56 de.eq3.cbcs.vertx.management.VertxManager INFO  [vert.x-eventloop-thread-1] SYSTEM: start of LocalServerAdapterInitialization succeeded (93a61d94-327a-4a18-9303-6e24fd04a932)
@jp112sdl
Copy link
Contributor

Das ist (leider / glücklicherweise) kein RaspberryMatic-eigenes Problem.
Die neue, mit 2.19.18 ausgelieferte HMIPServer.jar startet seine internen Funktionen/Dienste nur komplett, wenn alle Abhängigkeiten erfüllt sind.

@jp112sdl
Copy link
Contributor

P.S.: Evtl. mal in der /var/hm_mode die Zeile HM_MODE=HmIP auf etwas anderes, zB. HM_MODE=HM ändern.
Dann wird laut /etc/init.d/S62HMServer die HMServer.jar statt der HMIPServer.jar gestartet.

Vielleicht klappt das.

@thkl
Copy link
Author

thkl commented Aug 18, 2017

hm_home wird beim Start durch S00EQ3systemstart überschrieben. Wenn ich das File ändere geht es auch nicht. Dann braucht das System ewig zum Hochfahreb. Denn der "alte" HM Server crasht mit der Meldung das eine Log Class nicht gefunden wird. Dadurch hängt das Startup Script ewig sei es auf den Start des HM Servers wartet

@jp112sdl
Copy link
Contributor

Benötigst du denn die Virtuellen Geräte ohne Funkmodul?

Was mir noch einfällt:
Du kannst evtl. in der /etc/config/InterfacesList.xml alles rausschmeißen, was aufs Funkmodul setzt:

	<ipc>
	 	<name>BidCos-RF</name>
	 	<url>xmlrpc_bin://127.0.0.1:2001</url> 
	 	<info>BidCos-RF</info> 
	</ipc>
	<ipc>
	 	<name>VirtualDevices</name>
	 	<url>xmlrpc://127.0.0.1:9292/groups</url> 
	 	<info>Virtual Devices</info> 
	</ipc>
	<ipc>
	 	<name>HmIP-RF</name>
	 	<url>xmlrpc://127.0.0.1:2010</url> 
	 	<info>HmIP-RF</info> 
	</ipc>

Sollten die nach einem Reboot trotzdem wieder drinstehen, liegt es daran, dass sie beim Booten von der /etc/config_templates/InterfacesList.xml überschrieben wird. Dann müsstest du dort auch mal noch alles #auskommentieren.

So hat es bei mir zumindest in meiner Testumgebung, in der ich nur mit CUxD ohne Funkmodul arbeite, funktioniert.

@thkl
Copy link
Author

thkl commented Aug 18, 2017

Jap weil Heizungsgruppen. Und die Kommunikation läuft über LAN Gateways. Daher muss in der Interfaces auf rfd und VirtualDevices erhalten bleiben.

@jens-maus
Copy link
Owner

@thkl Verstehe ich das richtig? Du startest das normale RaspberryMatic 2.29.18.20170731 aber ohne Funkmodul und dort wird HMIPServer nicht korrekt gestartet?

@thkl
Copy link
Author

thkl commented Aug 18, 2017

Richtig. Ich habe es mit und ohne alten Backup versucht. Auch in der "Auslieferversion" ohne Funk Modul kommt die Meldung im hmserver.log und das WebUI sagt das Virtual Devices nicht verfügbar sind.

Wenn ich das Backup mit Heizungsgruppen einspiele und dann die Einstellungen einer Gruppe öffnen möchte kommt die Meldung das Gerät INT..... nicht von VirtualDevices gelesen werden kann. (Standard wenn die Schnittstelle nichts liefert)

@litti
Copy link

litti commented Aug 18, 2017

Normalerweise müsste dann der HMServer.jar gestartet werden. Nur ist in diesem aktuell ein Fehler, dass der nicht startet (Abhängigkeiten fehlen). Soll nächste Woche gefixt werden ;-)
HMServer.jar = virtualDevices + measurement
HMIPServer.jar = HMServer + HMIP

@thkl
Copy link
Author

thkl commented Aug 18, 2017

Wie oben geschrieben ich hab mich da gestern schon mal durch die startscripts gewühlt und hm_mode entdeckt. Wenn ich das über die s00eq3sytemstart ändere wird HMServer benutzt. Der startet aber auch nicht weil ihm irgendwelche Logging Classes fehlen.

Damit hängt das Startscript weil es auf den HMServer wartet, der sich in der Zwischenzeit schon wieder schlafen gelegt hat.

@jp112sdl
Copy link
Contributor

@thkl
Ja, das mit den Logging Klassen wird in OCCU #51 auch schon als Issue geführt

@thkl
Copy link
Author

thkl commented Aug 18, 2017

Nais :)

Aber wenn ich das so richtig gesehen habe wird nirgendwo geprüft ob ein Funkmodul vorhanden ist und die hm_mode gesetzt. Es wird nur unterschieden ob hmip oder Gateway Mode

@jens-maus jens-maus added 🐛 bug-report Something isn't working ⚓ upstream issue This is a bug/issue for/in upstream software (OCCU, etc.) labels Aug 19, 2017
@Peter2805
Copy link

Das Fehlerbild tritt mit dem aktuellen Release leider wieder auf.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚓ upstream issue This is a bug/issue for/in upstream software (OCCU, etc.) 🐛 bug-report Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants