NEWS
SONOFF NSPanel mit Lovelace UI
-
Geht es ums Löschen?
Dann mache es so wie in der bExit:
setIfExists(NSPanel_Path + 'ScreensaverInfo.popupNotifyHeading', ''); setIfExists(NSPanel_Path + 'ScreensaverInfo.popupNotifyText', '');
Kein Leerzeichen, sondern einfach nichts reinschreiben!
-
Bei mir steht im Display wenn das WC besetzt ist „Besetzt im Bad“
(zwei Leerzeichen drin)
Wenn man am Display vorbei geht wurde die aktuelle Temperatur und Luftfeuchtigkeit angezeigt " 23°C 55%“ (mehrere Leerzeichen)
Temperatur und Luftfeuchtigkeit kann ich ja jetzt oben mit anzeigen lassen. -
Es geht nicht um die Leerzeichen im Text, sondern dass das eingeblendet wird solange ein Zeichen (auch ein einzelnes Leerzeichen) vorhanden ist. Wenn beide absolut keinen Wert mehr haben, wird es ausgeblendet.
Und anscheinend hast du irgendetwas da rein geschrieben, wie ein einzelnes Leerzeichen. Dann kommt die Notification ist schwarz und man sieht nichts.
Also Wenn besetzt, dann
ScreensaverInfo.popupNotifyHeading = "Besetzt im Bad"Wenn jemand vorbei geht, dann
ScreensaverInfo.popupNotifyHeading = " 23°C 55%“Sonst:
ScreensaverInfo.popupNotifyHeading = "“ --> gleich Notify weg und Wetter/Entities wieder zu sehen....
Und wenn:
ScreensaverInfo.popupNotifyHeading = " “ --> dann leeres schwarzes Notify!Gleiches gilt für ScreensaverInfo.popupNotifyText
-
Ok, dann muss ich das Löschen aller Nachrichten noch mal prüfen.
Danke nochmal! -
Ich hab auch noch was zur powercard beizutragen. Man kann den Speed Wert auch in Abhängigkeit, des Values normieren:
-
@tt-tom sagte in SONOFF NSPanel mit Lovelace UI:
Dann passt -2500 als min und +2500 als max.
Ich habe das mal so eingetragen. Habe jetz aber ein anderes Problem festgestellt.
Der Wert wird solange aktualisiert bis ich das Panel einmal an tippe. Dann friert er ein und verändert sich nicht mehr.
Kann das daran liegen das ich direkten Datenpunkt verwende und keinen Alias?
Wenn nicht, was könnte sonst die Ursache sein bzw. welche logs/infos benötigt ihr noch?
-
@armilar
Nochmal ein Feedback zum SpotifyMediaPlayer.Ich habe den Aliaspath gegen eine constante Variable ersetzt und den MediaPlayer ein paar eben nach oben geschoben.
Anschließend hatte ich Einträge in der Speakerlist.Das Problem was jetzt vorliegt (liegt höchstwahrscheinlich am Adapter selbst), ich kann die Geräte nicht ändern. Über die DeviceList werden alle möglichen Geräte angezeigt. Bei Auswahl eines anderen abzuspielenden Gerätes springt der Eintrag wieder auf das aktuelle Gerät zurück.
Kann das jemand nachvollziehen?
-
Nein, die Werte werden unabhängig von einem Datenpunkt oder Alias (ist die einzige Ausnahme, in der Datenpunkte ja möglich sind) im Script eigentlich getriggert. Muss ich mir detailliert ansehen, ob da etwas verloren gegangen ist.
Habe den Wechsel zwischen Wetter und Werten eingeschaltet, da werden die Werte sowieso alle 15 Sekunden neu ermittelt und aktualisiert.
Sehe ich mir an
-
@armilar Danke und keinen Stress.
-
Es kann beim Spotify-Premium nur auf Devices umgeschaltet werden, die auch in der Liste vorhanden sind:
spotify-premium.0.devices.availableDeviceListString
Bitte prüfen
-
@armilar
Danke für den Tipp.Die Sonos Geräte bekommen zwar einen eigenen Ordner mit Datenpunkten,
tauchen aber im Datenpunktspotify-premium.0.devices.availableDeviceListString
nicht auf.
Werde ich später testen.
-
@armilar Muss in dem Script der Trigger nicht auch um die Variablen Erstellung drumrum?
Siehe nächsten Beitrag.
-
@armilar sagte in SONOFF NSPanel mit Lovelace UI:
Habe jetzt mal ein neues Blocky-Beispiel für die cardPower zum spielen und ausprobieren gebaut.
"cardPower simple example"
Das Blockly:
Beim ersten Aufruf sollte die card so aussehen:
Die restlichen Variablen können analog der id: 1 verändert werden, oder durch Datenpunkte mit echter Logik ersetzt werden.
Ich denke das wird dem allgemeinen Verständnis helfen...
PS.:
- direction wurde im Script noch nie abgefragt und ist deshalb im Beispiel auch nicht mehr enthalten
- speed_id_1-6 kann auch negative Werte enthalten und kehrt somit die Laufrichtung des Punktes um (Empfehlung -5 bis +5)
- Der mittlere größere Block hat kein Speed
- Ich habe einen Timer eingebaut, der jede Minute das JSONzusammenbaut und in den Datenpunkt schreibt. Bei Bedarf die Zeit ändern oder durch einen Trigger ersetzten
- Die Farben gehen von 0=weiß, 1=grün bis 10=rot
Muss in dem Script der Trigger nicht auch um die Variablen Erstellung drumrum. Ich habe immer alte Werte zum Zeitpunkt des Scriptspeicherns.
-
Welcher Trigger?
Das abgebildete Blockly arbeitet zyklisch (so wie eingestellt jede Minute)
Das heißt, was auch immer dort verarbeitet wird erzeigt jede Minute einen cardPower-String
-
@armilar Die Werte für die Variablen"value_ID_XX" werden doch drüber gesetzt.
Der Zeitplan stellt dann jede Minute den gleichen String zusammen.Habe den Zeitplan jetzt mal komplett um alles gelegt und schon passt es.
-
Für jeden Wert muss natürlich ein Datenpunkt zugewiesen werden. Die Scheduler sollte die Variablen umschließen, da sie sonst nicht erneut abgerufen werden --> ja
-
Habe in der Emulation (das gleiche im Original-Panel) mal nachgestellt und einfach unterschiedliche Werte in den Datenpunkt eingegeben. Ich habe das Verhalten nicht...
-
@armilar das heißt auch nach antippen des displays (Dimmer aus) wird weiterhin aktualisiert?
Gibt es irgendwo logs die ich mir ansehen kann vom/im Display?
Sonst werden die Daten ja vom Mqtt Adapter übertragen, wenn da keine aktuellen Werte mehr übertragen werden läge am Server. Sonst eher am Display, oder?
-
Ja die werden kontinuierlich getriggert. Die Funktionalität ist seit der ersten Version des Scriptes drin. Ist auch völlig egal, ob ein Screensaver an ist oder nicht. Die werden befüllt...
Kannst zwischen die Zeilen auch mit:
console.log("Was auch immer");
Logs einbauen.
- Das Script triggert die Datenpunkte und Sendet ein Update der Werte über die function HandleScreensaverUpdate()
Damit werden alle Statuswerte der unteren Zeile aktualisiert. - Danach wird ein Payload zur Aktualisierung via MQTT an das Panel gesendet...
Das gleiche passiert aber auch an anderer Stelle mit der Zeit und dem Datum.
Was mich mal interessieren würde ist, passiert das permanent oder wirklich immer?
- Das Script triggert die Datenpunkte und Sendet ein Update der Werte über die function HandleScreensaverUpdate()
-
@armilar ok.
Gerade noch kurz mal probiert. Wenn der Wert eingefroren ist, ich dann den screensaver verlasse. Warte bis er wieder zurück zum screensaver springt wird der Wert wieder aktualisiert.