NEWS
iobroker start event
-
Hallo,
ich möchte gerne nachdem ich den io-Broker gestartet habe, ein JS-Script einmalig ausführen. Gibt es dazu ein Ereignis, oder einen DP den man hierzu abfragen kann? -
Erstmal danke für die schnelle Antwort. Das bedeutet aber, dass jedesmal wenn ich das Script stoppe und wieder starte, dieses ausgeführt wird und nicht nur beim starten des io-Brokers.
@ra65ma sagte in iobroker start event:
wenn ich das Script stoppe und wieder starte, dieses ausgeführt wird und nicht nur beim starten des io-Brokers.
Ja, aber auch bei Start ioBroker. Wozu sollte das Skript wieder gestoppt und gestartet werden ?
-
@ra65ma Du könntest einen Datenpunkt erstellen mit dem letzten Ausführungsdatum des Skripts.
Wenn dieses vor dem Startpunkt von ioBroker liegt (müsste über die Uptime vom JS-Controller zu berechnen sein), wird der Rest ausgeführt und der Datenpunkt aktualisiert. Sonst nicht. -
@ra65ma sagte in iobroker start event:
wenn man z.B. das Script editiert.
Wie willst du den wissen das das Script sauber arbeitet wenn du es editiert hast ohne das du es laufen lässt ?
Ich denke jegliche "Verriegelung" dagegen das das Script manuell mehrfach gestartet werden kann macht nur ganz wenig sinn - zum Testen musst du sie ggf. sowieso deaktivieren, und ausser das Du daran "herum spielst" sollte nur ein Neustart des ioBroker / des JS Adapters einen erneuten Start des Skriptes auslösen.
A.
A.
-
Habe nun eine Lösung, weis aber nicht ob es nicht vielleicht eine elegantere gibt. Danke @AlCalzone, das Stichwort war "uptime"
createState('custom.iobroker.start', 0, {type: 'number'}); var startzeit = new Date(); var jetzt = new Date(); startzeit.setTime(startzeit.getTime() - getState('system.adapter.admin.0.uptime').val * 1000) if (startzeit.valueOf() > getState('custom.iobroker.start').val) { setState('custom.iobroker.start', jetzt.valueOf(), true); /* Make what ever you need */ log("IO-Broker ist gestartet") }
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden