NEWS
SONOFF NSPanel mit Lovelace UI
-
@ticaki Der "wait vor content" Kreis existiert doch auch ohne Script?
-
@max_yeah
Starte mal die JavaScript Instanzen neu. In seltenen Fällen kann dasselbe Skript mehrfach laufen. -
@max_yeah
Ja stimmt ist die Startseite, übersehenEdit: also nach einem tasmota reboot wird die angezeigt, aber anschließend nur noch auf befehl
-
@ticaki
ah guter Punkt, hatte gestern schon den Javascript Adapter neu gestartet, weil ich npm module hinzugefügt hab für WOL (node-wol, wake_on_lan).Ein Neustart des js Adpaters hat es gefixt, danke. Dann hat es wohl echt nichts mit der Firmware zu tun, weil oft starte ich den ja nicht neu.
Kann es damit zu tun haben, in welcher Reihenfolge die Scripte gestartet werden? Könnte es sein das ein Hilfscript, das vielleicht vor dem eigentlichen Panel Script startet, da was blockiert?
Wie definiert sich die Reihenfolge, in der die Scripte gestartet werden?
-
Ne doppelt laufende Skripte kommen, ohne ins Detail zu gehen, dann vor wenn man aufwändige Skripte im startup neustartet. Kann das gerne heute Abend weniger nebulöse beschreiben, hat was mit callbacks zu tun. Das mache ich aber net am Handy
-
Die etwas längere Version:
Im groben dürfte es stimmen, im Detail mag ich falsche Annahmen habe - am ende machts aber keinen großen unterschied.
Der Javascript Adapter verwirft beim beenden eines Skriptes alle registierten Trigger (intervalle, timeouts, abonnierte States, schedules usw.). Wenn das Skript eine Anfrage, die asychron externen code ausführt, aufruft, bekommt dieser code einen callback mit - der iobroker beendet das skript, der callback kommt zurück und das skript macht lustig weiter. Registriert vielleicht neue Datenpunkt und du hast 2 Versionen laufen - daher abschalten 10 Sekunden warten und wieder einschalten.
Ich hab mal nicht aufgepasst und 5 websockets zur gleichen Quelle aufgebaut und mich über die unzähligen Logmeldungen gewundert
Ja was man erstellt muß man auch beenden
-
@max_yeah sagte in SONOFF NSPanel mit Lovelace UI:
Meine Frage dazu ist, wie stelle ich die Updatebenachrichtigung ab?
in der Serviceseite unter Infos kannst du die Meldungen abschalten.
-
@max_yeah
ich habe nochmal nachgesehen, Anzahl der Striche an der X-Achse. -
@ticaki OK ja das macht Sin, danke für den tipp mit dem warten.
Callbacks ist eine gute überleitung zu meiner nächsten Frage.
Wann werden die cron jobs für das dimmen der pannels definiert?
Hintergrund ist folgender:
Ich habe ein Panel in unser Schlafzimmer installiert.
Jetzt gibt es ja den Dimmode für Helligkeit des Displays am Tag und Nacht, super Sache.
Damit es nachts dunkel ist im Schlafzimmer wird die brightness auf 0 runter geregelt. Und früh Früh dann zu den einstellten Zeiten wieder hoch.
Jedoch ist die HourDay meiner Frau am Wochenende zu früh.
Heist ich brauche fürs Wochenende andere Dimm Zeiten.
Dafür habe ich ein script geschrieben, das früh prüft welcher Tag gerade ist und demnach die Zeiten für wochentags oder fürs Wochenende in die entsprechenden Datenpunkte schreibt.Jetzt kommen wir zum eigentlichen problem. An den Übergangstagen Samstag und Montag, sind zwar die richtigen Zeiten in die Datenpunkte geladen, jedoch schaltet das Display noch zu den Alten Zeiten um. Als würde noch der Timer/Trigger laufen.
Drum stellt sich die frage,
-
wird der Trigger bei jedem schreiben der Dimmode datenpunkte neu erstellt,
-
oder wird das nur einmal pro Tag gemacht, wenn ja, wann?
Hier mein script (entschuldigt die Formatierung, ist eigentlich ein Blockly):
schedule('{"time":{"exactTime":true,"start":"00:05"},"period":{"days":1},"valid":{"from":"16.02.2025","to":""}}', async () => { if (String(formatDate(new Date(), 'WW', 'de')).includes('Samstag') || String(formatDate(new Date(), 'WW', 'de')).includes('Sonntag')) { setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourDay.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Wochenende.Umschaltzeit_Morgens.ACTUAL').val); setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourNight.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Wochenende.Umschaltzeit_Abends.ACTUAL').val); } else { setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourDay.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Werktags.Umschaltzeit_Morgens.ACTUAL').val); setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourNight.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Werktags.Umschaltzeit_Abends.ACTUAL').val); } }); on({ id: [].concat(['alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Wochenende.Umschaltzeit_Abends.ACTUAL']).concat(['alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Wochenende.Umschaltzeit_Morgens.ACTUAL']).concat(['alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Werktags.Umschaltzeit_Abends.ACTUAL']).concat(['alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Werktags.Umschaltzeit_Morgens.ACTUAL']), change: 'ne' }, async (obj) => { if (String(formatDate(new Date(), 'WW', 'de')).includes('Samstag') || String(formatDate(new Date(), 'WW', 'de')).includes('Sonntag')) { setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourDay.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Wochenende.Umschaltzeit_Morgens.ACTUAL').val); setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourNight.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Wochenende.Umschaltzeit_Abends.ACTUAL').val); } else { setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourDay.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Werktags.Umschaltzeit_Morgens.ACTUAL').val); setState('alias.0.NSPanel.Schlafzimmer.Dimmode.hourNight.SET' /* SET */, getState('alias.0.NSPanel.AdvancedDimming.Schlafzimmer.Werktags.Umschaltzeit_Abends.ACTUAL').val); } });
-
-
Doppelpost
-
Panel dreht sich wieder....
Log zeigt durchgehend diese zwei Meldungenjavascript.0 2025-02-25 08:01:39.518 info script.js.NSPanels.Eingang.Panel_Eingang: Installed TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:39.518 info script.js.NSPanels.Eingang.Panel_Eingang: Desired TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:33.526 info script.js.NSPanels.Eingang.Panel_Eingang: Installed TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:33.526 info script.js.NSPanels.Eingang.Panel_Eingang: Desired TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:27.690 info script.js.NSPanels.Eingang.Panel_Eingang: Installed TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:27.690 info script.js.NSPanels.Eingang.Panel_Eingang: Desired TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:21.758 info script.js.NSPanels.Eingang.Panel_Eingang: Installed TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:21.758 info script.js.NSPanels.Eingang.Panel_Eingang: Desired TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:15.718 info script.js.NSPanels.Eingang.Panel_Eingang: Installed TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:15.718 info script.js.NSPanels.Eingang.Panel_Eingang: Desired TFT Firmware: 54 / v4.5.0 javascript.0 2025-02-25 08:01:09.827 info script.js.NSPanels.Eingang.Panel_Eingang: Installed TFT Firmware: 54 / v4.5.0
Ein Neustart des js adapter hat das problem zwar wieder behoben, aber cool ist das nicht.
-
@max_yeah sagte in SONOFF NSPanel mit Lovelace UI:
Panel dreht sich wieder....
Diese 2 Meldungen bedeuten das das Panel die startuperwiderrung geschickt hat
und dann nochmal und nochmal und... Da hab ich keine Antwort zu - vielleicht @TT-Tom oder @Armilar
-
-
@tt-tom Der MQTT Broker läuft im IOBroker in einer extra Instanz nur für die Panels mit eigenem Port.