NEWS
SONOFF NSPanel mit Lovelace UI
-
Mal eine kleine Frage:
Nutzt ihr wirklich alle diese vielen Cards in einem Panel?
Ich glaube ich bin zu faul für alles aufzustehen und dahin zu laufenJa und nein
Wenn du meinst, das NSPanel wäre die Hauptzentrale des Smart Homes, dann ist etwas schief gelaufen
Smart Home bedeutet für mich, dass ich mich im besten Fall um gar nichts kümmern muss. Eine intuitive und automatische Steuerung aller Sensoren und Aktoren, die auf meine Bedürfnisse in Abhängigkeit äußerer Einflüsse zugeschnitten ist. Ich möchte daher auch nicht zum Panel laufenDas NSPanel ist das Bindeglied zwischen der Automatik und der Realität, wenn das mal nicht klappen sollte und irgendetwas außer der Reihe ansteht, dass die intuitive Steuerung und die Sprachassistenten nicht mehr hinbekommen.
"Alexa, lese mir alle Datenpunkte der letzten 24h für die Wohnzimmertemperatur vor" ist ja auch nicht so praktisch - da kommt dann eine Visualisierung ins Spiel... und die muss ja nicht gigantisch groß sein, sondern nur die wesentlichen Infos zum richtigen Zeitpunkt liefern.
Beispiel:
Mein Smart Home ist der Meinung, dass z.B. das Licht für den aktuellen Zustand ausreicht, aber ich möchte in diesem Moment zum z.B. löten etwas mehr Licht haben, dann kann ich das über das Panel einstellen oder ich sage dem Sprachassistenten einfach, dass ich mehr Licht haben möchte...Und ja, es sind so ziemlich alle Cards implementiert, mit allen Aktoren und Sensoren im Haus. Denn es ist auch eine Art Fallback-Lösung, falls mal irgendetwas ausgefallen ist oder sich eben nicht so verhält, wie du es gerade erwartest. Mein Smart Home kennt den Grundablauf, aber nicht alle meine Bedürfnisse zum aktuellen Zeitpunkt...
Manchmal laufe ich nur dran vorbei und sehe Infos, die ich mir anzeigen lassen möchte. Aber es könnte alle Aktoren im Haus/Grundstück steuern...
-
Ja so habe ich das noch nicht gesehen, ich verlasse mich da immer ziemlich auf meine Assistenten
Das mit dem Fallback gefällt mir auch, habe erstmal nur das umgesetzt was er können muss an der Stelle wo er eingesetzt wird, zusätzlich dann noch gewisse Extras wie Licht in den anderen Etagen damit ich nur zum panel laufen muss und nicht noch zusätzlich die Treppe hoch
Daher hier noch mal ein großes Lob an alle die das hier ermöglichen, es macht Spaß wieder was neues zum spielen zu haben was so viele Möglichkeiten besitzt.
MfG
eMd -
Hi,
bei mir werden zwei Werte im Display von einem Alias immer mit "Null" angezeigt, obwohl in den Aliasen Werte drinstehen.
Hier der Code:
leftScreensaverEntity: [ // leftScreensaverEntity 1 (only Advanced Screensaver) { ScreensaverEntity: 'alias.0.Temperaturen.Wohnzimmertemp', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'thermometer', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Temperatur', ScreensaverEntityUnitText: '°C', ScreensaverEntityIconColor: {'val_min': 15, 'val_max': 28, 'val_best': 23} }, // leftScreensaverEntity 2 (only Advanced Screensaver) { ScreensaverEntity: 'alias.0.Strom.strom_taeglich_kw', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'current-ac', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'L1-L3', ScreensaverEntityUnitText: 'kW', // ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 5000} },
Die Aliase dazu:
Ferner steht heute bei mir im Display 04.06.2023 als Abfuhrdate. Jedoch steht im DP 06.04.2023. Gibt es noch eine Convertfunktion?
Vielleicht hat da jemand eine Idee?
-
Moin,
sind ist der BOOST oder PARTY Mode in der Thermo Card mit einem Timer vesehen, oder sind das auch einfach Symbole, welche über den jeweiligen DP gesteuert werden?
-
@bhenyamin moinsen, das sind nur normale dp, deren werte ich angezeigt bekommen möchte. keine verknüpfung von einem mode etc.
Die Wohnzimmertemp lasse ich mir erfolgreich mit dem identichen dp in einem anderen view anzeigen:
let Temperaturen = <PageGrid> { 'type': 'cardGrid', 'heading': 'All. Temperaturen', 'useColor': true, 'subPage': true, 'parent': Temperaturen_Overview 'items': [ <PageItem>{ id: "alias.0.Temperaturen.Bad_ist_Temp", name: "Bad °C", offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': 15, 'val_max': 30, 'val_best': 23} }, <PageItem>{ id: "alias.0.Temperaturen.Kueche.Kuechentemperatur", name: "Küche °C", offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': 15, 'val_max': 30, 'val_best': 22} }, <PageItem>{ id: "alias.0.Temperaturen.Technikraum.TR_Temp", name: "Technikraum °C", offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': 15, 'val_max': 30, 'val_best': 22} }, <PageItem>{ id: "alias.0.Temperaturen.Technikraum.TR_Humidity", name: "Technikraum %", offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 80} }, <PageItem>{ id: "alias.0.Temperaturen.Wohnzimmertemp", name: "Wohnzimmer °C", offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': 15, 'val_max': 30, 'val_best': 23} }, // <PageItem>{ id: "alias.0.Wellis_WP.Ist_Temperatur", name: "Wellis °C", offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': 15, 'val_max': 42, 'val_best': 38} }, <PageItem>{ id: "accuweather.0.Current.Temperature", name: "Aussen °C", offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -15, 'val_max': 40, 'val_best': 25} }, ] };
-
Bei den Aliasen musst du in diesem Fall (Screensaver) .ACTUAL mit geben
Ferner steht heute bei mir im Display 04.06.2023 als Abfuhrdate. Jedoch steht im DP 06.04.2023. Gibt es noch eine Convertfunktion?
Kann es sein, dass deine Einstellungen im Betriebssystem/ioBroker nicht korrekt sind? Was gibt denn ein Blockly im Debug bei diesem DP aus?
-
@armilar thx, mit ACTUAL klappt es.
heir die Ausgabe wegen des Datums:
14:57:06.965 info javascript.0 (18424) Stop script script.js.common.Sonoff_Panel.test 14:57:08.269 info javascript.0 (18424) Start javascript script.js.common.Sonoff_Panel.test 14:57:08.291 info javascript.0 (18424) script.js.common.Sonoff_Panel.test: 06.04.2023 14:57:08.292 info javascript.0 (18424) script.js.common.Sonoff_Panel.test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
-
@armilar vielleicht hat es auch mit diesen warnungen zu tun?
14:53:37.800 info javascript.0 (18424) script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01: Installed TFT Firmware: 50 / v4.0.4 14:53:50.394 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8563:35) 14:53:50.394 warn javascript.0 (18424) at HandleScreensaver (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8272:5) 14:53:50.394 warn javascript.0 (18424) at HandleMessage (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4235:21) 14:53:50.394 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4164:25) 14:53:50.395 warn javascript.0 (18424) at step (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:33:23) 14:53:50.395 warn javascript.0 (18424) at Object.next (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:14:53) 14:53:50.395 warn javascript.0 (18424) at script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8:71 14:53:50.395 warn javascript.0 (18424) at __awaiter (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4:12) 14:53:50.395 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4156:12) 14:53:50.398 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8573:37) 14:53:50.398 warn javascript.0 (18424) at HandleScreensaver (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8272:5) 14:53:50.398 warn javascript.0 (18424) at HandleMessage (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4235:21) 14:53:50.398 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4164:25) 14:53:50.398 warn javascript.0 (18424) at step (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:33:23) 14:53:50.399 warn javascript.0 (18424) at Object.next (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:14:53) 14:53:50.399 warn javascript.0 (18424) at script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8:71 14:53:50.399 warn javascript.0 (18424) at __awaiter (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4:12) 14:53:50.399 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4156:12) 14:53:50.401 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8577:37) 14:53:50.401 warn javascript.0 (18424) at HandleScreensaver (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8272:5) 14:53:50.402 warn javascript.0 (18424) at HandleMessage (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4235:21) 14:53:50.402 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4164:25) 14:53:50.402 warn javascript.0 (18424) at step (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:33:23) 14:53:50.402 warn javascript.0 (18424) at Object.next (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:14:53) 14:53:50.402 warn javascript.0 (18424) at script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8:71 14:53:50.403 warn javascript.0 (18424) at __awaiter (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4:12) 14:53:50.403 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4156:12) 14:53:52.281 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8563:35) 14:53:52.281 warn javascript.0 (18424) at HandleScreensaver (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8272:5) 14:53:52.282 warn javascript.0 (18424) at HandleMessage (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4235:21) 14:53:52.282 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4164:25) 14:53:52.282 warn javascript.0 (18424) at step (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:33:23) 14:53:52.283 warn javascript.0 (18424) at Object.next (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:14:53) 14:53:52.283 warn javascript.0 (18424) at script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8:71 14:53:52.284 warn javascript.0 (18424) at __awaiter (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4:12) 14:53:52.284 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4156:12) 14:53:52.287 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8573:37) 14:53:52.287 warn javascript.0 (18424) at HandleScreensaver (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8272:5) 14:53:52.287 warn javascript.0 (18424) at HandleMessage (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4235:21) 14:53:52.288 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4164:25) 14:53:52.288 warn javascript.0 (18424) at step (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:33:23) 14:53:52.288 warn javascript.0 (18424) at Object.next (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:14:53) 14:53:52.289 warn javascript.0 (18424) at script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8:71 14:53:52.289 warn javascript.0 (18424) at __awaiter (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4:12) 14:53:52.293 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4156:12) 14:53:52.296 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8577:37) 14:53:52.296 warn javascript.0 (18424) at HandleScreensaver (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8272:5) 14:53:52.297 warn javascript.0 (18424) at HandleMessage (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4235:21) 14:53:52.297 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4164:25) 14:53:52.297 warn javascript.0 (18424) at step (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:33:23) 14:53:52.298 warn javascript.0 (18424) at Object.next (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:14:53) 14:53:52.298 warn javascript.0 (18424) at script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8:71 14:53:52.299 warn javascript.0 (18424) at __awaiter (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4:12) 14:53:52.299 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:4156:12) 14:54:00.132 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8563:35) 14:54:00.133 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:3174:9) 14:54:00.135 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8573:37) 14:54:00.135 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:3174:9) 14:54:00.139 warn javascript.0 (18424) at HandleScreensaverUpdate (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:8577:37) 14:54:00.139 warn javascript.0 (18424) at Object.<anonymous> (script.js.common.Sonoff_Panel.Panel_1.Panel_1_2023_04_01:3174:9)
Kann man da irgendwie die entsprechende Zeilennr heruasbekommen, welche als erstes probleme bereitet?
-
Interessant und merkwürdig, denn das Script macht eigentlich nichts anderes als den Inhalt eines DP zu visualisieren (ohne Konvertierung). Hätte ich adhoc auch keinen Ansatz...
-
vielleicht hat es auch mit diesen warnungen zu tun?
Nee, die sagen nur, dass du auf Objekte (DP's) zugreifst, die nicht existieren...
Nach den Zeilennummer kannst du dich nicht orientieren. Die passen nicht zur Zeile im Script (irgendwie noch nie)
-
@armilar thx, kann man anhand der logs sehen, welche das sind?
-
Du kannst jeden Block so auskommentieren. Wenn die Warnung verschwunden ist, hast du den Übeltäter...
/* { ScreensaverEntity: 'alias.0.Haus.Erdgeschoss.Buero.Sensoren.Temperatur.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'thermometer', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Temperatur', ScreensaverEntityUnitText: '°C', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35, 'val_best': 22} }, */
-
@armilar wenn dass kurz nach dem start des skriptes ist und ich nur die screensaver im display sehe, kann es nur davon sein, oder werden alle views etc aufgerufen und können somit fehler von anderen views auftreten?
-
Die anderen Cards durchlaufen nicht die Screensaver-Funktionen
-
@armilar ja das hatte ich mir schon gedacht. meine frage geht dahin, ob nach dem start alles views intern "gecached" etc werden und somit alles views durchlaufen werden und deren fehler entsprechend ausgegeben, ode halt erst beim direkten aufruf? dann wären die fehler bei mir im screensaver, immer beim wechsel.
-
@armilar sehe gerade, das beim wechsel vom forcecast weg, die werte wieder "null" für wohnzimmertemp und stromverbrauch sind.
-
Jede Seite wird dann aufgerufen, wenn sie zu sehen ist. Immer zur aktuellen Seite aufgebaut. Also zunächst wird Seite 0 nach dem Start aufgebaut, wenn dann keine Aktion mehr passiert, dann kommt der Screensaver und die Seite 0 existiert nicht mehr.
Da Deine Fehler aber in der HandleScreensaverUpdate passieren, wird es auch nur in den Definitionen für den Screensaver die Fehler geben
-
irgendetwas nicht gespeichert an den Änderungen mit dem .ACTUAL?
Alternativ mal die JS-Instanz neu starten. Nicht das im Hintergrund noch eine Schattenkopie läuft...
-
@armilar fehlermeldungen sind jetzt alle weg. javascript neugestartet. dennoch manchmal "null" werte
-
Man könnte bis zu 6 Abfahrzeiten als Wert auf einer cardGrid darstellen und als Unterschrift die Richtung.
Ich denke da in Richtung monobutton. Sein Toggeln löst dann eine notifyPage aus mit allen wichtigen Infos, die über ein externes Script zur Verfügung gestellt werden. Muss mich mit @Armilar mal kurzschließen, für eventuelle Anpassung am Script.
Werde zeitlich nächste Woche, dazu kommen.Passt das ungefähr deinen Vorstellungen??