Comments (22)
Hab eben versucht das zu reproduzieren, ist mir "leider" ;-) nicht gelungen. Konnte es installieren, den Node in einen Flow ziehen und deployen ohne Absturz. Mangels Echo kann ich es aber nicht testen. Wann genau ist es bei Dir abgestürzt? Bereits beim ersten Deploy nachdem Du den Node in ein Flow gezogen hast?
Wenn Du Zeit/Lust hast wäre es hilfreich wenn Du den Log-Level mal auf Debug stellst und es noch mal versuchst und dann den Logauszug hier postest
from redmatic.
Hey Sebastian,
einfachste Ausgangssituation:
Dann geht es recht schnell - nach deploy stürzt Node-Red ab.
hier noch die letzten Zeilen
Jun 11 21:34:38 homematic-ccu2 user.info node-red: [debug] [ccu-connection:localhost] subscribe {"iface":"BidCos-RF","cache":true,"change":true,"channel":"NEQ1731421:1","datapoint":"STATE"}
Jun 11 21:34:38 homematic-ccu2 user.info node-red: [info] Started flows
Jun 11 21:34:38 homematic-ccu2 user.info node-red: 11 Jun 21:34:38 - [red] Uncaught Exception:
Jun 11 21:34:38 homematic-ccu2 user.info node-red: 11 Jun 21:34:38 - Error: bind EADDRINUSE 0.0.0.0:1900
Jun 11 21:34:38 homematic-ccu2 user.info node-red: at Object._errnoException (util.js:992:11)
Jun 11 21:34:38 homematic-ccu2 user.info node-red: at _exceptionWithHostPort (util.js:1014:20)
Jun 11 21:34:38 homematic-ccu2 user.info node-red: at _handle.lookup (dgram.js:266:18)
Jun 11 21:34:38 homematic-ccu2 user.info node-red: at _combinedTickCallback (internal/process/next_tick.js:141:11)
Jun 11 21:34:38 homematic-ccu2 user.info node-red: at process._tickCallback (internal/process/next_tick.js:180:9)
log-level hab ich umgestellt aber wie ich dran komm - musst du mir noch sagen ;-)
from redmatic.
Ah, ich glaub das ist eine Endlosschleife die da entsteht, das lähmt vermutlich nicht nur Node-RED sondern führt auch zu einem "Funk-Feuerwerk" weil das Homematic Gerät ständig Befehle erhält.
Mögliche Lösungansätze siehe: originallyus/node-red-contrib-alexa-local#54
Loglevel setzen ist hier beschrieben: https://github.com/hobbyquaker/RedMatic/wiki/Loglevel
from redmatic.
Oh. Ich hab das glaube ich falsch verstanden. Du hast den Alexa Node noch gar nicht "verdrahtet" und es stürzt schon ab? Könntest Du mal auf Deinem Raspberrymatic netstat -tulpen
ausführen und den Output hier posten? Die Fehlermeldung dass Port 1900 schon belegt ist könnte darauf hindeuten dass da schon/noch eine Node-RED Instanz läuft und versucht wird eine weitere zu starten (was natürlich nicht passieren sollte und ein Bug wäre...)
from redmatic.
Hmmmm - werd ich dann nochmal versuchen. Auf meinem anderem Pi läuft das über MQTT jedoch problemlos.
Und die letzten Zeilen des Logs
from redmatic.
# netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1999 0.0.0.0:* LISTEN 727/ReGaHss
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 468/lighttpd
tcp 0 0 0.0.0.0:2001 0.0.0.0:* LISTEN 615/rfd
tcp 0 0 0.0.0.0:8181 0.0.0.0:* LISTEN 468/lighttpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 481/sshd
tcp 0 0 0.0.0.0:8183 0.0.0.0:* LISTEN 727/ReGaHss
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 468/lighttpd
tcp 0 0 0.0.0.0:8700 0.0.0.0:* LISTEN 529/cuxd
tcp 0 0 0.0.0.0:8701 0.0.0.0:* LISTEN 529/cuxd
tcp 0 0 127.0.0.1:705 0.0.0.0:* LISTEN 568/snmpd
tcp 0 0 :::9292 :::* LISTEN 631/java
tcp 0 0 :::80 :::* LISTEN 468/lighttpd
tcp 0 0 :::8181 :::* LISTEN 468/lighttpd
tcp 0 0 :::22 :::* LISTEN 481/sshd
tcp 0 0 :::2010 :::* LISTEN 631/java
tcp 0 0 :::443 :::* LISTEN 468/lighttpd
udp 0 0 0.0.0.0:1900 0.0.0.0:* 473/ssdpd
udp 0 0 0.0.0.0:43439 0.0.0.0:* 460/eq3configd
udp 0 0 0.0.0.0:50109 0.0.0.0:* 568/snmpd
udp 0 0 0.0.0.0:56270 0.0.0.0:* 615/rfd
udp 0 0 127.0.0.1:8182 0.0.0.0:* 179/hss_led
udp 0 0 192.168.160.63:123 0.0.0.0:* 437/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 437/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 437/ntpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 568/snmpd
udp 0 0 fe80::ba27:ebff:fe1d:472b:123 :::* 437/ntpd
udp 0 0 ::1:123 :::* 437/ntpd
udp 0 0 :::123 :::* 437/ntpd
udp 0 0 ::1:161 :::* 568/snmpd
udp 0 0 :::50436 :::* 631/java
from redmatic.
Hast Du in diesem dashboard switch node If msg arrives on input, pass through to output:
deaktiviert?
from redmatic.
Ah ok, ich glaube wir kommen der Sache näher. Der Port 1900 ist bei Dir bereits vom "ssdpd" belegt und der Alexa Node will den auch haben. Dass der Fehler nicht abgefangen wird ist etwas unschön, könnte man evtl mal ein Issue zu aufmachen, das sollte Node-RED nicht crashen lassen, besser wäre ein Error Eintrag im Log... ;)
Was mich wundert ist dass auf meinem Test-Raspberrymatic kein ssdpd läuft, ich recherchier mal ein wenig
from redmatic.
Erste Vermutung, ohne es wirklich zu wissen: Kann es sein dass RaspberryMatic den ssdpd startet wenn man die Osram/Hue Integration benutzt? Ist das bei Dir der Fall? Ich befürchte dass es da keinen gangbaren Workaround gibt, den Port Ändern kommt glaube/vermute ich nicht in Frage - und wenn er belegt ist kann ihn der Alexa node nicht nutzen...
Was Du mal testen könntest: den ssdpd beenden (/etc/init.d/S50ssdpd stop
) und dann Node-RED wieder starten (/etc/config/rc.d/redmatic start
). Vermutlich läuft es dann. Ich kann Dir im Moment allerdings nicht sagen wozu der ssdpd eigtl verwendet wird, vermutlich damit irgendwelche Geräte RaspberryMatic im Netzwerk discovern können. Auf der "originalen" CCU2 Firmware ist der gar nicht vorhanden, insofern geh ich von aus dass Du ihn "gefahrlos" beenden kannst.
from redmatic.
nee - hab keine osram/hue am laufen. Schalte mit Alexa nur Licht + Sonoff Pows. Aber ich bin gerade etwas verunsichert, was deinen Kommentar If msg arrives on input, pass through to output betrifft. In meinem "Standard" Flow ist das deaktiviert, aber auf dem Raspberrymatic?!! werde das nochmal testen.
from redmatic.
sooo - jetzt definitiv ausgeschaltet
aber leider leider tritt das Problem wieder auf
Generell hab ich dein Addon neu installiert und lediglich das Alexa Addon dazu installiert. Alles andere ist jungfräulich ...
from redmatic.
Aber aber ... das tolle Alexa local addon emuliert eine hue bridge. Evtl. ist das tatsächlich das Problem.
from redmatic.
Hab grad mal noch weiter geforscht zum thema ssdpd (siehe editiertes kommentar oben).
Der ist auch in der original CCU Firmware vorhanden, hat allerdings kein eigenes Start Script sondern wird in S50eqconfigd mit gestartet. Belegt allerdings auch nicht den Port 1900. Ich hab auf meinem Testsystem gar nicht die neuste RaspberryMatic drauf, vermutlich liegt es daran dass es bei mir geht und bei Dir nicht. Ich denke aber immer noch der Versuch das Ding einfach mal zu beenden könnte erst mal zum Erfolg führen. Müsste man dann noch klären wozu der eigtl da ist, ich werde bei Gelegenheit mal Jens fragen.
from redmatic.
Hab mal noch ein bisschen recherchiert und Jens und Anli gefragt, ich glaube der ssdpd ist quasi-nutzlos. Dient nur dazu dass die CCU in Windows angezeigt wird. Sollte also imho verzichtbar sein. Hartnäckiger weg wäre einfach die /etc/init.d/S50ssdpd
zu löschen, dann wird er beim CCU boot nicht mehr gestartet (vorher muss Dateisystem rw gemountet werden). Dann "sollte" auch Dein Alexa Node laufen. Allerdings müsstest diese Löschung nach jedem RaspberryMatic update wiederholen. Nicht schön... Denkbare alternative wäre ein weiteres Script anzulegen was das Ding einfach beendet bevor Node-RED startet...
Ein Hinweis noch von Jens: wenn man den ssdpd deaktiviert wird ein evtl installiertes Watchdog-Addon ihn wieder neu starten - man könnte daher das Watchdog Addon nicht mehr nutzen. Außerdem könnte es sein dass Mediola UPNP nutzt um die CCU zu discovern, das würde dann auch nicht mehr funktionieren...
from redmatic.
Morgen Sebastian,
hat funktioniert. Vielen Dank für Deine Unterstützung.
Evtl noch für die Nachwelt ....
mount -o remount,rw
rm /etc/init.d/S50ssd
Neustart Raspberrymatic
Und alles tut ... DANKE
from redmatic.
Hab nochma nachgedacht, ein einfacher Weg das zu lösen so dass es auch RaspberryMatic updates übersteht:
Datei /etc/config/rc.d/killssdpd
anlegen (name eigentlich egal, aber er muss in alphabetischer Sortierung vor "redmatic" stehen):
#!/bin/sh
/etc/init.d/S50ssdpd stop
Und dann noch die Datei ausführbar machen: chmod a+x /etc/config/rc.d/killssdpd
from redmatic.
Funktioniert das noch? Denn wenn ich den Befehl "/etc/init.d/S50ssdpd stop" manuell eingebe, dann bekomme ich diese Meldung:
-sh: /etc/init.d/S50ssdpd: Permission denied
Um welche Datei handelt es sich eigentlich genau? Ich lese irgendwie immer von 2 Dateien mal wird diese "S50eq3configd" angesprochen und mal diese "S50ssdpd". Welche ist nun zuständig für UPnP auf der CCU?
from redmatic.
auf Raspberrymatic wird der ssdpd von /etc/init.d/S50ssdpd
gestartet, dass Du da ein Permission denied bekommst ist seltsam. Läuft der Dienst überhaupt? Was gibt denn ein ps | grep ssdpd
zurück?
Auf der CCU2 existiert /etc/init.d/S50ssdpd
nicht, dort wird der ssdpd von /etc/init.d/S50eq3configcmd
gestartet.
from redmatic.
Hallo, ps | grep ssdpd
gibt aus 918 root 0:00 grep ssdpd
Ich habe halt auch nach dieser Datei /etc/init.d/S50eq3configd
gefragt, weil ein User aus dem Homematic-Forum meint, man müsse diese Datei bearbeiten damit UPnP nicht mehr läuft.
Siehe Beitrag:
https://homematic-forum.de/forum/viewtopic.php?f=44&t=33848&start=2400#p411514
from redmatic.
Da scheint irgendwas bei Dir nicht so zu laufen wie es sollte, der ssdpd läuft jedenfalls garnicht - insofern musst ihn auch nicht deaktivieren ;-)
Ansonsten könntest Du den weg mit dem "killssdpd" Script gehen dass ich ein paar Posts weiter oben beschrieben habe.
from redmatic.
Sehr komisch.
Beide Dateien sind bei mir auf der RaspberryMatic zu finden.
Ich muss den UPnP Dienst halt deaktivieren, weil sonst die Roku-Fake-Devices von HVL bei mir nicht laufen. Aber Du sagst, er läuft bei mir garnicht, aber die Rokus funktionieren nicht :-(
Selbst wenn ich /etc/init.d/S50ssdpd start
eingebe kommt diese Meldung
-sh: /etc/init.d/S50ssdpd: Permission denied
from redmatic.
Hier nur kurz der Hinweis, dass ich mir den ssdpd
daemon noch einmal auf Grund eines dankenswerten Hinweises von Alexander Reinert einmal näher angeschaut habe und die socket Initialisierung so anpassen konnte das nun SO_REUSEPORT/SO_REUSEADDR dazu verwendet wird das nun prinzipiell neben ssdpd
noch andere Applikationen/UPnP-Announcer sich auf Port 1900/UDP setzen können (siehe https://homematic-forum.de/forum/viewtopic.php?f=65&t=41452&start=10#p441092).
Es sei allerdings dazu gesagt, dass die anderen/weiteren UPnP-Announcer dann auch ihre sockets mittels SO_REUSEPORT/SO_REUSEADDR öffnen müssen und ob dies bei den besagten Diensten dann der Fall ist muss jeder selbst herausfinden bzw. deren Entwickler fragen.
Für die nächste RaspberryMatic Version wird der angepasste ssdpd
daemon bereits integriert sein.
from redmatic.
Related Issues (20)
- Redmatic beendet sich immer nach kurzer Zeit HOT 1
- Configure CCU-Value through message
- HmI
- HmIP-BBL-2 wird nicht als Gerät erkannt. HOT 2
- CCU-Verknüpfung (IP-Adresse falsch)
- Redmatic Conbee II Controller-Node "Status: Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port'"
- lässt sich node-red-contrib-homekit-bridged mit in die binär packet liste aufnehmen? HOT 3
- Pakete können nicht mehr installiert werden.
- update node-red-contrib-rfxcom
- Install of node-red-contrib-panasonic-comfort-cloud do not work
- Erweiterungen (Paletten) können nicht mehr installiert werden HOT 2
- Service and update?
- Switch dauer-eingeschaltet
- Uncaught Exception: Error: socket -24
- HmIP-BROLL-2 was not seen in the device list HOT 6
- Homematic CuxD und virtuelle Kanäle nicht in Redmatic verfügbar
- RedMatic Update Patch HOT 2
- Die neue Schaltsteckdose "hmip-ps-2 9ym" funktioniert nicht mit Homekit HOT 5
- HmIP-WGC is not available - please include
- Update/Upgrade of the RedMatic package HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from redmatic.