NEWS
Startreihenfolge der Adapter
-
Ich nutze unter anderem den NodeRED Adapter. Wenn meine CCU noch nicht komplett hochgefahren ist und NodeRED währenddessen die CCU sucht, stürzt NodeRED ab. Ich möchte den NodeRED Adapter erst nach einer gewissen Zeit starten, wenn ich mir sicher sein kann, dass die CCU vollständig hochgefahren ist.
-
@da_woody aber wenn die shellies, die zickbee s und anderes nach einem Stromausfall noch nicht wieder hochgefahren sind, kann der fix gestartete ioBroker die Verbindung noch nicht sofort aufnehmen.
Dann gibt es paar Sekunden Errormeldungen. -
Im Expertenmodus hast du 3 Stufen zur Auswahl:
Allerdings ist das nicht Zeitgesteuert sondern nur eine Reihenfolge. -
@mkaiser96
Bei mir laufen unter Anderen iobroker; Debmatic; InfluxDB und Grafana; je als eine eigene VM unter Proxmox. Dort kann man die Startreihenfolge und eine evtl. Verzögerung je VM separat einstellen. InfluxDB und Grafana starten zuerst, dann kommt Debmatic, welches mit zwei zugewiesenen Kernen recht flott startet, und nach einer kleinen Verzögerung kommt zuletzt der iobroker. -
@homoran öhm, nach einem stromausfall, kann mein proxmox server/ioB sein, wie er mag. selbst ein raspi braucht länger.
meine shelly/tasmotadingens sind ja in der sekunde wieder mit strom versorgt, was sollen die dinger hochfahren? die warten max auf einen WLAN connect. ioB braucht sicher länger. bis dann die adapter starten...
woher sollen da errors her kommen? -
@peterfido iwie liest sich das langsam als verständigungsproblem
jau, bei proxmox kann man die reihenfolge einstellen, bei adaptern unter ioB wäre mir das nicht bekannt, weil auch nicht notwendig. -
@da_woody said in Startreihenfolge der Adapter:
[...] bei adaptern unter ioB wäre mir das nicht bekannt, weil auch nicht notwendig.
Ob es notwendig ist oder nicht, muss jeder für sich entscheiden. Ich bin der Meinung, es wäre notwendig. Wenn der NodeRED Adapter schneller gestartet ist als meine CCU, stürzt NodeRED ab, da es die Zentrale nicht findet. Daher wäre eine Startreihenfolge bzw. -verzögerung sehr sinnvoll.
Es sollte doch möglich sein, dass ausgewählte Adapter bei Systemstart nicht automatisch starten und man diese mittels eines Skripts in Blockly manuell starten könnte.
-
@mkaiser96 das hat doch nichts mit Startreihenfolge von Adaptern zu tun, wenn du noch warten willst, dass irgendein x-beliebiges Gerät auch noch vollständig hochgefahren ist.
die CCU ist doch kein Adapter. -
Für einzelne Adapter kenne ich da nix.
Aber du kannst den Start des iobrokers um X Sekunden verzögern.Trag in die Datei
/usr/lib/systemd/system/iobroker.service
die ZeileExecStartPre=/bin/sleep 30
unter dem Bereich [SERVICE] ein.
Dann wird der Start um 30 Sekunden verzögert.Schaut dann so aus:
[Unit] Description=ioBroker Server Documentation=http://iobroker.net After=network.target redis.service influxdb.service mysql-server.service mariadb-server.service Wants=redis.service influxdb.service mysql-server.service mariadb-server.service [Service] Type=simple User=iobroker Environment="NODE=$(which node)" ExecStartPre=/bin/sleep 30 ExecStart=/usr/bin/bash -c '${NODE} /opt/iobroker/node_modules/iobroker.js-controller/controller.js' Restart=on-failure RestartSec=3s [Install] WantedBy=multi-user.target
-
@thomas-braun sagte in Startreihenfolge der Adapter:
Aber du kannst den Start des iobrokers um X Sekunden verzögern.
darum gehts ja anscheinend nicht! er will die adpter in gewünschter reihenfolge starten mit verzögerung...
-
@da_woody sagte in Startreihenfolge der Adapter:
darum gehts ja anscheinend nicht! er will die adpter in gewünschter reihenfolge starten mit verzögerung...
Kommt doch aufs gleiche raus, wenn auf andere Dienste (außerhalb des iobrokers) gewartet werden soll.
-
@thomas-braun klar, aber das hat doch nix mit einem adapter zu tun.
hatte sowas ähliches auch schon. strom ein, mein rechner war schneller da als mein router nach dem modem, die IP meines rechners war als modem beim provider angemeldet. da ging logischer weise nüscht mehr... -
@mkaiser96 sagte in Startreihenfolge der Adapter:
Wenn der NodeRED Adapter schneller gestartet ist als meine CCU, stürzt NodeRED ab, da es die Zentrale nicht findet.
Mal abgesehen von der Diskussion um die Startreihenfolge. Was ich nicht verstehe ist, warum NodeRed abstürzt. Ich habe etliche Systeme über NodeRed angebunden, wenn zwischenzeitlich eines dieser Systeme (noch) nicht da ist, passiert einfach ein Reconnect. Einen Absturz wegen nicht verfügbarer Schnittstellen habe ich noch nie erlebt.
-
@da_woody sagte in Startreihenfolge der Adapter:
klar, aber das hat doch nix mit einem adapter zu tun.
Aber die Adapter starten nicht ohne den iobroker. Wenn der also verzögert startet, dann die Adapter natürlich auch...
-
Prinzipiell stimmt das soweit. Die CCU ist ein externer Dienst. Ich habe aber auch noch weitere Adapter laufen, die ich gerne in einer gewissen Reihenfolge mit Verzögerung starten möchte.
Eine Diskussion über die Sinnhaftigkeit hilft mir hier leider nicht weiter. Eine Lösung des Problems wäre sehr hilfreich und kann sicher auch weitere Nutzer weiterhelfen.
-
@mkaiser96 sagte in Startreihenfolge der Adapter:
Ich habe aber auch noch weitere Adapter laufen
Bist Du da jetzt sicher dass Du ioBroker-Adapter meinst?
Ich meine speziell Dein NodeRed. Läuft das als Adapter auf ioBroker oder als NodeRed auf einem eigenen System ? -
-
@djmarc75
Ja, ich habe NodeRED als Adapter auf meinem ioBroker laufen.@Thomas-Braun
Da kann ich aber leider keine Zeit einstellen. Das hilft mir hier leider nicht direkt weiter. -
@mkaiser96 sagte: NodeRED Adapter erst nach einer gewissen Zeit starten
Weise die Node-Red-Instanz in der Startreihenfolge nach hinten (3), stoppe die Instanz bei Neustart von Javascript (Startfolge: 1) und starte sie verzögert wieder.
const idNR = 'system.adapter.node-red.0'; const objNR = getObject(idNR); objNR.common.enabled = false; setObject(idNR, objNR); setTimeout(function() { objNR.common.enabled = true; setObject(idNR, objNR); }, 30000);
-
@da_woody @MKaiser96 Ich hatte das so vesrtanden, dass da auf einen externen Server (CCU) gewartet werden soll.
Meine CCU ist eine VM unter Proxmox. Diese braucht mit einem zugewiesenen CPU Kern eine deutliche Zeit länger, bis diese hochgefahren ist. Mit zwei CPU Kernen fährt die wesentlich flotter hoch.
Die Frage könnte im Bezug auf Node-Red hier im Forum unter Node-Red evtl. besser aufgehoben sein. Ich nutze Node-Red auch für vieles. Abstürze kommen da allerdings nicht vor. Wenn ein Gerät nicht erreichbar ist, startet Node-Red die Verbindung dorthin einfach neu.
Ansonsten:
- CCU kann iobroker selbst mit den HMxxx-Adaptern. Node-Red kann da auf die Objekte lauschen.
- Fehler kann man in Node-Red mit den Catch-Nodes abfangen.