NEWS
SONOFF NSPanel mit Lovelace UI
-
@dapeace
hi zeige mal bitte die beiden mrIconXScreensaverentity. da schein ein Fehler zusein. -
-
@armilar @TT-Tom
So schaut das bei mir aus.mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SONOFF.NSPanelWozi.stat.POWER1', ScreensaverEntityIconOn: 'heat-wave', //Rename ScreensaverEntityIconOff: null, ScreensaverEntityValue: NSPanel_Path + 'Sensor.ANALOG.Temperature', //New ScreensaverEntityValueDecimalPlace : 1, //New ScreensaverEntityValueUnit: '°', //New ScreensaverEntityOnColor: MSRed, ScreensaverEntityOffColor: White }, mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt-client.0.PoolTemp.Water', ScreensaverEntityIconOn: 'pool-thermometer', ScreensaverEntityIconOff: null, ScreensaverEntityValue: 'mqtt-client.0.PoolTemp.Water', ScreensaverEntityValueDecimalPlace : 1, ScreensaverEntityValueUnit: '°', ScreensaverEntityOnColor: MSRed, ScreensaverEntityOffColor: White },
-
Sieht auf den ersten Blick gut aus.
Eine Frage ist noch offen:
4.0.5.4? oder kleiner?
und könntest du uns mal einen Blick auf die drei verwendeten Datenpunkte geben?
-
Starte gerade mit meinen Ersten NSPanel und gehe mal über das Script und stolpere vermutlich schon über eine Anfänger Frage:
const NSPanel_Path = '0_userdata.0.NSPanels-Datenpunkte.Buero.'; // Anpassen an das jewilige NSPanel const NSPanel_Alarm_Path = '0_userdata.0.NSPanels-Datenpunkte.'; // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm) const AliasPath: string = 'alias.0.' + NSPanel_Path.substring(13, NSPanel_Path.length);
Verstehe ich das bei dieser Config der "AliasPath" nun
alias.0.0_userdata.0.NSPanels-Datenpunkte.Buero.
wäre?
Wenn ja, soll das so sein? Ich habe mich mal an die Beispiel TS gehalten und da wird auch mit den den Verzeichnissen 0_userdata und alias.0. gearbeitet.
const NSPanel_Path = '0_userdata.0.NSPanel.1.'; // Anpassen an das jewilige NSPanel const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.'; // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm) const AliasPath: string = 'alias.0.' + NSPanel_Path.substring(13, NSPanel_Path.length);
Will nicht komplett falsch starten... Schließlich werden da ziemlich viele Datenpunkte von alleine erstellt.
-
@armilar sorry, ich hab das Skript heute erst vom Github geholt. Also müsste es die aktuellste sein. Anbei die 3 Datenpunkte. Ich kann da irgendwie nix erkennen. Die PoolTemp wird momentan nicht aktualisiert. Es steht noch ein älterer Wert von vor ein paar Tagen drin.
EDIT: Ich hab gerade nochmal probehalber den Pool auskommentiert und den Ersten DP verdoppelt 2x reingepackt. Jetzt kommt der Fehler nicht mehr aber das undefined kommt immer noch.
Wenn ich das ganze im Debug-Mode laufen lassen dann spuckt er mir folgende Info aus (22,7° müsste die Raumtemperatur sein):javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: HandleScreensaverUpdate payload: weatherUpdate~~~~38066~~11.7 °C~~~~32495~TagesVB~10.63~~~侀~32495~Tag~01.01.3511~~~侀~32495~Tag~17.13~~~~32495~Haus~01.01.1179~~~艹~32495~Pool~05.08.2001~ 14:28:48.433 info javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: Entity ist String 14:28:48.433 info javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: OFF [object Object] 14:28:48.434 info javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: Icon if true 梅 14:28:48.434 info javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: Value ist eine Zahl 梅22.7° 14:28:48.435 info javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: undefined
-
Tippe, dass der Fehler aus dem
mqtt.0.SONOFF.NSPanelWozi.stat.POWER1
kommt. Das ist kein boolscher Wert mittrue/false
, sondern ein String mitON/OFF
der aber nicht in der Funktion behandelt wird. Sollte der identisch mit dem Relais sein, kannst du besser den 0_userdata.0.NSPanelWozi.1.Relay.1 verwenden. -
@draexler sagte in SONOFF NSPanel mit Lovelace UI:
Verstehe ich das bei dieser Config der "AliasPath" nun
alias.0.0_userdata.0.NSPanels-Datenpunkte.Buero.wäre?
Nein, den veränderst du am Besten gar nicht...
Nur den NSPanel_Path und die MQTT Parameter in der Config anpassen.
EDIT: Wenn es das "withoutExample" Script ist, sollte es ohne Fehler nach Anpassung dieser drei Parameter so loslaufen.
-
@armilar Ok. Wenn ich das beim Icon 1 mache bekomme ich keine Fehler mehr.
Beim Icon 2 habe ich aber immer noch den Fehler. Den DP hab ich jetzt auf Number geändert von vorher mixed. Der wird von NodeRed in ioB geschrieben.
Fehler:5:17:48.475 info javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: undefined 15:17:48.476 warn javascript.0 (9134) script.js.NSPanel_Wozi_4_0_5: error at function HandleScreensaverStatusIcons: getState(...).val.toFixed is not a function
Code:
// mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt-client.0.PoolTemp.Water', // ScreensaverEntityIconOn: 'pool-thermometer', // ScreensaverEntityIconOff: null, // ScreensaverEntityValue: 'mqtt-client.0.PoolTemp.Water', // ScreensaverEntityValueDecimalPlace : 1, // ScreensaverEntityValueUnit: '°', // ScreensaverEntityOnColor: MSRed, // ScreensaverEntityOffColor: White },
-
@dapeace sagte in SONOFF NSPanel mit Lovelace UI:
mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt-client.0.PoolTemp.Water',
Was passiert bei:
mrIcon2ScreensaverEntity: { ScreensaverEntity: null, ...
und starte mal die Instanz vom MQTT-Client und JS durch. So dass die Änderungen auch greifen
-
@armilar kann es sein das er mit der Schreibweise "." bzw "," als Dezimalzeichen Probleme bekommt?
im MQTT steht ein Punkt wenn ich das richtig erkenne.
-
Wenn der DP numerisch ist und der Wert aktualisiert wird, dann sollte das meines Erachtens automatisch gehen.
-
@DaPeace kannst du mal in den MQTT Punkt aus dem Punkt ein Komma machen. wird beim nächsten sync eh überschrieben
-
@armilar Verändern würde ich denn ja nicht. Aber sowie ich das verstehe wird das doch aus "alias.0. + NSPanel_Path" zusammengebaut, oder nicht?
-
schon korrekt, jedoch benötigtst du im alias.0. keine weitere Benennung von 0_userdata.0
Daher wird das abgetrennt...
-
-
@tt-tom sagte in SONOFF NSPanel mit Lovelace UI:
Edit: @Armilar warst wieder schnell mit tippen
Ja, überlasse dir das Feld jetzt und widme mich einer Familienfeier
-
@tt-tom So verstanden. Dankeschön Dann kann ich mal das Skript laufen lassen.
-
@draexler hast du das ohne Beispiele, also withoutExample
-
@dapeace zeige bitte mal die Objektdaten von dem MQTT Pool water
diese hier
so habe mir mal auch die Version ohne Beispiele auf das Testsystem gezogen.
mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SONOFF.NSPanelWozi.stat.POWER1', ScreensaverEntityIconOn: 'heat-wave', //Rename ScreensaverEntityIconOff: null, ScreensaverEntityValue: NSPanel_Path + 'Sensor.ANALOG.Temperature', //New ScreensaverEntityValueDecimalPlace : 1, //New ScreensaverEntityValueUnit: '°', //New ScreensaverEntityOnColor: MSRed, ScreensaverEntityOffColor: White },
das ist deine Einstellung und die läuft ohne Meldung hier.
Fall zwei habe ich versucht nachzustellen, bekomme aber in den Datenpunkt kein Punkt als Dezimalpunkt. Da scheint was an anderer Stelle zu klemmen.