NEWS
SONOFF NSPanel mit Lovelace UI
-
Ja, könnte man ins Auge fassen um die Relais dann mitbenutzen zu können... Irgendwie gehören die ja auch zum Panel. Ich sehe mir das mal an, auch hinsichtlich der fehlenden Buttons / Relais in der Emulation.
Könnte dann noch eine Abfrage rein, ob in der Tasmota Config Relay 1 und 2 gesetzt sind. Aber sieht schonmal gut aus.
-
@armilar
Auf jeden Fall ein geiles Projekt -
dankeschön...
-
Was hältst du denn davon:
//switch Relays 1 + 2 with DP's async function Init_Relays() { if (existsState(NSPanel_Path + 'Relay.1') == false || existsState(NSPanel_Path + 'Relay.2') == false) { await createStateAsync(NSPanel_Path + 'Relay.1', true, { type: 'boolean' }); await createStateAsync(NSPanel_Path + 'Relay.2', true, { type: 'boolean' }); } } Init_Relays(); on({id: [].concat(String(NSPanel_Path) + 'Relay.1').concat(String(NSPanel_Path) + 'Relay.2'), change: "ne"}, async function (obj) { try { require("request")((['http://',get_current_tasmota_ip_address(),'/cm?cmnd=Power',(obj.common ? obj.common.name : ""),' ',(obj.state ? obj.state.val : "")].join(''))).on("error", function (err) {console.error(err.message);}); } catch (err) { console.warn(err.message); } });
Spart den zweiten Trigger und die IP wird sowieso ermittelt
Fehlt dann quasi nur der Sync mit den physischen Tasten
-
//create switch Relays 1 + 2 with DP's async function Init_Relays() { if (existsState(NSPanel_Path + 'Relay.1') == false || existsState(NSPanel_Path + 'Relay.2') == false) { await createStateAsync(NSPanel_Path + 'Relay.1', true, { type: 'boolean' }); await createStateAsync(NSPanel_Path + 'Relay.2', true, { type: 'boolean' }); } } Init_Relays(); //Relay-DP's werden geschaltet --> Physische Relays werden geschaltet on({id: [].concat(String(NSPanel_Path) + 'Relay.1').concat(String(NSPanel_Path) + 'Relay.2'), change: "ne"}, async function (obj) { try { require("request")((['http://',get_current_tasmota_ip_address(),'/cm?cmnd=Power',(obj.common ? obj.common.name : ""),' ',(obj.state ? obj.state.val : "")].join(''))).on("error", function (err) {console.error(err.message);}); } catch (err) { console.warn(err.message); } }); //physische Button werden gedrückt und synchronisieren Relay-DP's on({id: [].concat(config.mrIcon1ScreensaverEntity.ScreensaverEntity).concat(config.mrIcon2ScreensaverEntity.ScreensaverEntity), change: "ne"}, async function (obj) { if (obj.id.substring(0,4) == 'mqtt') { let Button = obj.id.split('.'); if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) { await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false); } } });
Ich denke das wars. Falls du Lust auf einen Test hast... gerne ...
-
@armilar
Hi, nein funktioniert nicht, wenn die HW-Tasten gedrückt werden wird der Status gesetzt.
Aber wenn man den Status setzt ziehen die Relais nicht an.Hier mal ein log der zeile 14:
script.js.Wandtablet.NS-Panel_Fitness: http://192.168.2.102/cm?cmnd=Power0_userdata.0.NSPanel.Fitness.Relay.1 false
irgendwie scheint es dass common.name nicht richtig auflöst. Muss jetzt leider mal weg, aber kann später mal suchen.
-
hmm - interessant. Liefert bei mir ordentlich 1 oder 2. So hätte ich es auch erwartet.
Bin gespannt was herauskommt...
-
Ergebnis aus Zeile 3:
on({id: [].concat(String(NSPanel_Path) + 'Relay.1').concat(String(NSPanel_Path) + 'Relay.2'), change: "ne"}, async function (obj) { try { console.log(((['http://',get_current_tasmota_ip_address(),'/cm?cmnd=Power',(obj.common ? obj.common.name : ""),' ',(obj.state ? obj.state.val : "")].join('')))); require("request")((['http://',get_current_tasmota_ip_address(),'/cm?cmnd=Power',(obj.common ? obj.common.name : ""),' ',(obj.state ? obj.state.val : "")].join(''))).on("error", function (err) {console.error(err.message);}); } catch (err) { console.warn(err.message); } });
und schaltet auch beide Relais über Datenpunkte...
-
@armilar Ich könnte Dank deiner Hilfe schon wirklich viel mit dem Panel umsetzen (läuft ja zur Zeit noch im nextion Editor) das richtige Panel ist noch original, bis ich fertig bin mit der Konfiguration. Also danke noch Mal für den super Support!
Das Lovelace ist echt richtig gut geworden und eine echte Bereicherung.Ist schon abzusehen ob und wann eine Seite für wled kommt?
Und was noch sehr wünschenswert wäre ein zweiter auswählbarer screensaver mit wichtigen Infos. Der screensaver mit Uhr und Wetter sieht echt gut aus aber fände es echt super wenn es einen zweiten optionalen geben würde mit Infos wie zb welche Fenster sind offen, wer ist anwesend, welche Geräte haben einen geringen Akkustand, welche Lampen sind an. Das wäre echt eine feine Sache!
-
@danny_v1 sagte in SONOFF NSPanel mit Lovelace UI:
Ist schon abzusehen ob und wann eine Seite für wled kommt?
Hab sie mir eben angesehen und denke es wird nicht mehr lange dauern. Dennoch hatten wir mit 5000 Codezeile ja erst Bergfest und da kommen auch noch weitere coole Gimmicks. Schätze so etwa 2 Wochen...
Und was noch sehr wünschenswert wäre ein zweiter auswählbarer screensaver mit wichtigen Infos. Der screensaver mit Uhr und Wetter sieht echt gut aus aber fände es echt super wenn es einen zweiten optionalen geben würde mit Infos wie zb welche Fenster sind offen, wer ist anwesend, welche Geräte haben einen geringen Akkustand, welche Lampen sind an. Das wäre echt eine feine Sache!
Dafür bin ich leider nicht zuständig
Das Design liegt bei @joBr99
Wenn es jedoch interessant ist, dann könntest du es in einem kleinen beschreibenden Issue auf github mit ihm diskutieren. -
@armilar
also ich habe es eben nochmal ganz unten im Script angefügt und da bekomme ich folgende Ausgabe:2022-11-15 23:08:57.277 - info: javascript.0 (400696) script.js.Wandtablet.NS-Panel_Fitness: http://192.168.2.102/cm?cmnd=Power0_userdata.0.NSPanel.Fitness.Relay.1 false 2022-11-15 23:09:02.107 - info: javascript.0 (400696) script.js.Wandtablet.NS-Panel_Fitness: http://192.168.2.102/cm?cmnd=Power0_userdata.0.NSPanel.Fitness.Relay.2 false 2022-11-15 23:09:06.481 - info: javascript.0 (400696) script.js.Wandtablet.NS-Panel_Fitness: http://192.168.2.102/cm?cmnd=Power0_userdata.0.NSPanel.Fitness.Relay.1 true 2022-11-15 23:09:08.192 - info: javascript.0 (400696) script.js.Wandtablet.NS-Panel_Fitness: http://192.168.2.102/cm?cmnd=Power0_userdata.0.NSPanel.Fitness.Relay.1 false 2022-11-15 23:09:14.769 - info: javascript.0 (400696) script.js.Wandtablet.NS-Panel_Fitness: http://192.168.2.102/cm?cmnd=Power0_userdata.0.NSPanel.Fitness.Relay.1 true 2022-11-15 23:09:21.999 - info: javascript.0 (400696) script.js.Wandtablet.NS-Panel_Fitness: http://192.168.2.102/cm?cmnd=Power0_userdata.0.NSPanel.Fitness.Relay.1 false
Und Schalten tut nix. Oder hat die Position etwas mit der Funktion zu tun
-
Nein die Postion ist egal. Habe es etwas höher, jedoch wäre die Position egal. Würde mich mal interessieren ob du bei einem anderen Trigger oder auch Datenpunkt an common.name kommst
Welche node.js hast du?
-
wow ..echt super
darf ich als Anfänger eine Frage.. besser eine Bitte loswerden?
Würde gerne den screensaver über einen externen Bewegungsmelder (Homematic) von dunkel auf hell schalten ,wenn ich ins Bad gehe.
Gibt es dazu eine Möglichkeit ?
Daaaaanke -
Guten Abend, ich bekomme diese Fehlermeldungen und finde nicht warum. Was ist der Fehler?
16.11.2022, 20:36:30.073 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4658:29) 16.11.2022, 20:36:30.074 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:888:13) 16.11.2022, 20:36:30.074 [warn ]: javascript.0 (806) at step (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:33:23) 16.11.2022, 20:36:30.074 [warn ]: javascript.0 (806) at Object.next (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:14:53) 16.11.2022, 20:36:30.074 [warn ]: javascript.0 (806) at script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:8:71 16.11.2022, 20:36:30.075 [warn ]: javascript.0 (806) at __awaiter (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4:12) 16.11.2022, 20:36:30.075 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:885:12) 16.11.2022, 20:36:30.079 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4665:34) 16.11.2022, 20:36:30.079 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:888:13) 16.11.2022, 20:36:30.080 [warn ]: javascript.0 (806) at step (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:33:23) 16.11.2022, 20:36:30.080 [warn ]: javascript.0 (806) at Object.next (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:14:53) 16.11.2022, 20:36:30.080 [warn ]: javascript.0 (806) at script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:8:71 16.11.2022, 20:36:30.081 [warn ]: javascript.0 (806) at __awaiter (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4:12) 16.11.2022, 20:36:30.085 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:885:12) 16.11.2022, 20:36:30.089 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4679:29) 16.11.2022, 20:36:30.089 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:888:13) 16.11.2022, 20:36:30.090 [warn ]: javascript.0 (806) at step (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:33:23) 16.11.2022, 20:36:30.090 [warn ]: javascript.0 (806) at Object.next (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:14:53) 16.11.2022, 20:36:30.090 [warn ]: javascript.0 (806) at script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:8:71 16.11.2022, 20:36:30.091 [warn ]: javascript.0 (806) at __awaiter (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4:12) 16.11.2022, 20:36:30.091 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:885:12) 16.11.2022, 20:36:30.095 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4686:34) 16.11.2022, 20:36:30.096 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:888:13) 16.11.2022, 20:36:30.096 [warn ]: javascript.0 (806) at step (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:33:23) 16.11.2022, 20:36:30.097 [warn ]: javascript.0 (806) at Object.next (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:14:53) 16.11.2022, 20:36:30.097 [warn ]: javascript.0 (806) at script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:8:71 16.11.2022, 20:36:30.098 [warn ]: javascript.0 (806) at __awaiter (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:4:12) 16.11.2022, 20:36:30.098 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Papa-Garagen.NS-Panel-Paps-3_5_0_5:885:12)
Bei dem anderen Panel diese
16.11.2022, 20:39:41.087 [warn ]: javascript.0 (806) at script.js.Ns-Panels.Garage-3_5_0_5:1335:46 16.11.2022, 20:39:41.087 [warn ]: javascript.0 (806) at step (script.js.Ns-Panels.Garage-3_5_0_5:33:23) 16.11.2022, 20:39:41.087 [warn ]: javascript.0 (806) at Object.next (script.js.Ns-Panels.Garage-3_5_0_5:14:53) 16.11.2022, 20:39:41.087 [warn ]: javascript.0 (806) at fulfilled (script.js.Ns-Panels.Garage-3_5_0_5:5:58) 16.11.2022, 20:40:01.621 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Ns-Panels.Garage-3_5_0_5:4700:29) 16.11.2022, 20:40:01.621 [warn ]: javascript.0 (806) at HandleScreensaver (script.js.Ns-Panels.Garage-3_5_0_5:4330:5) 16.11.2022, 20:40:01.622 [warn ]: javascript.0 (806) at HandleMessage (script.js.Ns-Panels.Garage-3_5_0_5:1825:21) 16.11.2022, 20:40:01.622 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Ns-Panels.Garage-3_5_0_5:1762:17) 16.11.2022, 20:40:01.623 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Ns-Panels.Garage-3_5_0_5:4707:34) 16.11.2022, 20:40:01.623 [warn ]: javascript.0 (806) at HandleScreensaver (script.js.Ns-Panels.Garage-3_5_0_5:4330:5) 16.11.2022, 20:40:01.624 [warn ]: javascript.0 (806) at HandleMessage (script.js.Ns-Panels.Garage-3_5_0_5:1825:21) 16.11.2022, 20:40:01.624 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Ns-Panels.Garage-3_5_0_5:1762:17) 16.11.2022, 20:40:01.626 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Ns-Panels.Garage-3_5_0_5:4721:29) 16.11.2022, 20:40:01.627 [warn ]: javascript.0 (806) at HandleScreensaver (script.js.Ns-Panels.Garage-3_5_0_5:4330:5) 16.11.2022, 20:40:01.627 [warn ]: javascript.0 (806) at HandleMessage (script.js.Ns-Panels.Garage-3_5_0_5:1825:21) 16.11.2022, 20:40:01.627 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Ns-Panels.Garage-3_5_0_5:1762:17) 16.11.2022, 20:40:01.629 [warn ]: javascript.0 (806) at HandleScreensaverUpdate (script.js.Ns-Panels.Garage-3_5_0_5:4728:34) 16.11.2022, 20:40:01.629 [warn ]: javascript.0 (806) at HandleScreensaver (script.js.Ns-Panels.Garage-3_5_0_5:4330:5) 16.11.2022, 20:40:01.629 [warn ]: javascript.0 (806) at HandleMessage (script.js.Ns-Panels.Garage-3_5_0_5:1825:21) 16.11.2022, 20:40:01.629 [warn ]: javascript.0 (806) at Object.<anonymous> (script.js.Ns-Panels.Garage-3_5_0_5:1762:17)
-
Fehler post
-
Hi,
willkommen im Forum
Wenn Du einen Bewegungsmelder am ioBroker angeschlossen hast und die Datenpunkte in einem Skript verarbeiten kannst, kannst Du darüber den Datenpunkt vom NSPanel bzgl. Screensaver beeinflussen.
LG
-
@tt-tom
Servus,
was meinst damit ? -
ich hatte diesen Post,
https://forum.iobroker.net/post/889863ist aber nicht genau was du wolltest. Darum Fehlpost
-
@tt-tom
danke , ich schau es mir an -
Aktuell gibt es das so noch nicht - das Spielchen mit dem Dimmode
Finde die Idee aber nicht schlecht und daher überlege ich mir etwas über einen externen Datenpunkt. Dann könnte der Bewegungsmelder sich mit dem Datenpunkt synchronisieren.