NEWS
SONOFF NSPanel mit Lovelace UI
-
Absolut korrekt. Das Leerzeichen muss mit ins Blockly. Hat sich wieder ein Gemeindeentwickler einen lustigen Spaß erlaubt. Auf der anderen Seite könntest du auch das Event trimmen und das Leerzeichen entfernen. Dann mit dem String vergleichen.
-
Habe es mal ausprobiert. Die Relays schalten bei mir nur beim setzen der Pulsetime (1x) Dann ist ruhe. Habe aber auch nichts, was daraus eine Kettenreaktion macht...
Hier mein Log
20:38:35.466 CMD: Pulsetime1 3 20:38:35.474 MQT: SmartHome/NSPanel_1/stat/RESULT = {"PulseTime1":{"Set":3,"Remaining":3}} 20:38:35.885 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 20:38:35.891 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 20:38:40.659 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:40.773 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:40.834 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:40.945 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:41.063 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:41.126 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:51.946 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:52.076 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:38:52.145 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:39:21.994 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:39:22.109 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:39:22.223 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:39:22.295 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:39:38.918 MQT: SmartHome/NSPanel_1/tele/STATE = {"Time":"2023-02-13T20:39:38","Uptime":"2T09:45:18","UptimeSec":207918,"Heap":132,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":20,"MqttCount":6,"Berry":{"HeapUsed":16,"Objects":236},"POWER1":"OFF","POWER2":"ON","Wifi":{"AP":1,"SSId":"Logint","BSSId":"62:10:C9:A8:CF:01","Channel":9,"Mode":"11n","RSSI":100,"Signal":-37,"LinkCount":1,"Downtime":"0T00:00:12"}} 20:39:38.939 MQT: SmartHome/NSPanel_1/tele/SENSOR = {"Time":"2023-02-13T20:39:38","ANALOG":{"Temperature1":22.4},"ESP32":{"Temperature":52.8},"TempUnit":"C"} 20:39:46.245 CMD: Pulsetime2 3 20:39:46.255 MQT: SmartHome/NSPanel_1/stat/RESULT = {"PulseTime2":{"Set":3,"Remaining":3}} 20:39:46.573 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER2":"OFF"} 20:39:46.576 MQT: SmartHome/NSPanel_1/stat/POWER2 = OFF 20:39:51.860 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:39:51.972 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:39:52.047 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:40:22.294 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:40:22.409 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:40:22.521 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:40:22.585 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:40:51.862 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:40:51.981 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:40:52.056 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:16.948 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:17.072 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:17.139 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:21.996 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:22.108 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:22.219 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:22.293 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:51.839 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:51.946 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:41:52.026 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:42:21.803 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:42:21.968 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:42:22.085 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:42:22.148 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
Okay, habe auch noch auf true gesteuert.
20:50:13.386 CMD: Pulsetime1 3 20:50:13.396 MQT: SmartHome/NSPanel_1/stat/RESULT = {"PulseTime1":{"Set":3,"Remaining":3}} 20:50:13.718 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 20:50:13.724 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 20:50:22.562 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:50:27.937 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:50:28.082 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:50:28.146 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:50:52.123 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:50:52.233 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:50:52.309 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:50:55.322 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 20:50:55.325 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 20:51:14.664 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"ON"} 20:51:14.669 MQT: SmartHome/NSPanel_1/stat/POWER1 = ON 20:51:14.983 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 20:51:14.986 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 20:51:21.961 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:51:22.074 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:51:22.187 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:51:22.259 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:51:25.708 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:51:25.821 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 20:51:25.894 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
Einmaliges flackern. Danach aber Ruhe
-
Vielleicht kommt das durch mein Wlan zu standen, der er die Verbindung abbricht und wieder bekommt.
Aber pulst er überhaupt? normal muss einmal on und dann wieder off kommen
Du musst dann einmal im tasmota schalten auf der Hauptseite
Sieht dann bei mir so aus20:59:07.425 CMD: PulseTime2 3 20:59:07.432 MQT: stat/NSPanel1/RESULT = {"PulseTime2":{"Set":3,"Remaining":3}} 20:59:07.746 MQT: stat/NSPanel1/RESULT = {"POWER2":"OFF"} 20:59:07.754 MQT: stat/NSPanel1/POWER2 = OFF 20:59:23.198 MQT: stat/NSPanel1/RESULT = {"POWER2":"ON"} 20:59:23.206 MQT: stat/NSPanel1/POWER2 = ON 20:59:23.528 MQT: stat/NSPanel1/RESULT = {"POWER2":"OFF"} 20:59:23.533 MQT: stat/NSPanel1/POWER2 = OFF 20:59:26.132 MQT: stat/NSPanel1/RESULT = {"POWER2":"ON"} 20:59:26.139 MQT: stat/NSPanel1/POWER2 = ON 20:59:26.515 MQT: stat/NSPanel1/RESULT = {"POWER2":"OFF"} 20:59:26.520 MQT: stat/NSPanel1/POWER2 = OFF
Das ON OFF nacheinander wäre für einem Monobutton normal
-
Ja der hat gepulst. Hab's mal über die Konsole geschaltet.
Relais an, Relays sofort wieder aus. Anzeige im Tasmota aber ca. 2-3 Sekunden später erst auf Aus
21:01:23.846 CMD: pulsetime1 3 21:01:23.854 MQT: SmartHome/NSPanel_1/stat/RESULT = {"PulseTime1":{"Set":3,"Remaining":3}} 21:01:24.180 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 21:01:24.185 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 21:01:33.052 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"ON"} 21:01:33.057 MQT: SmartHome/NSPanel_1/stat/POWER1 = ON 21:01:33.426 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 21:01:33.432 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 21:01:41.964 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"ON"} 21:01:41.975 MQT: SmartHome/NSPanel_1/stat/POWER1 = ON 21:01:42.347 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 21:01:42.350 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 21:01:51.858 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:01:51.975 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:01:52.082 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:01:52.715 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"ON"} 21:01:52.722 MQT: SmartHome/NSPanel_1/stat/POWER1 = ON 21:01:53.052 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"} 21:01:53.058 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF 21:01:59.648 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:01:59.752 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:01:59.819 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:02:21.895 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:02:22.014 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:02:22.120 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"} 21:02:22.189 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
-
Immer wieder verblüffend!
Danke für den Hinweis, habe jetzt einfach das Leerzeichen vor dem Eventnamen gesetzt und die Farben werden korrekt in die DP geschrieben und auf dem NSPanel angezeigt!
-
Und jetzt schalt es mal über den DP.
-
Bekommt den false nicht mit. Muss ich immer manuell zurücksetzen. Obwohl das Relay true/false macht
Kann die aber auch nicht sagen, ob ich dafür den switchmode benötige, was ich vermute...
-
Ich werde mal die Funktion ausschalten, so das er die DP aus dem Script nicht mehr überwacht und triggert.
Wenn es damit weg ist weiß ich zumindest wieso es passiert. Hatte jetzt das Script mal gestoppt und die Technoleucht hört direkt auf
Das wird bestimmt wieder ne Sonderlock sein.
-
So geht es natürlich auch, da der Vergleich dann auch wieder stimmt...
-
Du bist auch echt der Spezialfall
-
Sorry:)
Ich habe halt durch den Neubau keine Wechsel/Kreuzschaltung etc im Haus verbaut sondern reinweg Taster.Bei mir geht jeder Taster in den Schaltschrank und von dort aus zum Licht. Ich kann auch jeden Schalter umprogrammieren, wenn er ein andere Licht schalten soll;)
Alle Schaltwippen habe immer die gleiche Stellung (optikhalber).
Bin gelernter Automatisierungselektroniker:)
-
@ronny130286 sagte in SONOFF NSPanel mit Lovelace UI:
Bin gelernter Automatisierungselektroniker:)
Das habe ich mir längst gedacht Wer sonst hätte eine S7 zuhause
-
Ich nutze eine Siemens Logo8 230v ist ähnlich und funktioniert über den S7 Adapter im Iobroker, eine S7 fand ich damals wie auch heute völlig drüber und auch teuer.
Edit:
Ich habe jetzt die Funktion ausgeschaltet, jetzt ist Ruhe mit dem triggern.
Ich werden mir morgen mal das Thema mit der Fritzbox angucken, ich könnte mir vorstellen das es dort irgendwie ein unschönes zusammenspiel gibt.Aber so gefragt wenn ich die Buttons vom den Relays im Tasmot entkoppele, dann aber die Relay wieder im Script hart zusammenführen, ist das nicht eigentlich kontraproduktiv?
Mir würde es jetzt nicht einfallen wann man das braucht? -
Aber so gefragt wenn ich die Buttons vom den Relays im Tasmot entkoppele, dann aber die Relay wieder im Script hart zusammenführen, ist das nicht eigentlich kontraproduktiv?
Nein, denn du kannst deine Buttons losgelöst von den Relays nutzen. Die Relays aber dennoch mit Funktionen belegen.
Beispiel. Du hast an einem Relay eine Heizung. Möchtest du an und ausschalten, jedoch über z.B. eine Blockly-Logik - nicht manuell über die Buttons.
Auf dem anderen Relay hast du ebenfalls einen Verbraucher, den du schalten könntest, ohne dass du den Button benötigst.
Die Button-Pages kannst du dann separat belegen...
-
Und was passiert mit dem dp unter 0_userdata. wenn ich das nicht entkoppelt? Wird der getriggert wenn das Relay schaltet?
-
Die Datenpunkte visualisieren nur den Status des Relays, der sowieso über MQTT übertragen wird (somit ja, der wird getriggert, wenn das Relay schaltet!). Dennoch kannst du, wenn der Datenpunkt verändert wird via MQTT den Zustand des Relays schalten.
Habe ein Panel in dem beide Varianten aktiv sind...
-
Ich überlege gerade, durch das schlecht wlan aktuellen wird wahrscheinlich beim mir das Signal verzögert im Kreis geschickt...
tasmota schickt per mqtt true an den iobroker, das kommt verzögert an, dann schreibt er es in den dp und tasmota schaltet wären dessen wieder auf false.
Da im dp jetzt ein true steht schickt das Script wieder über den http Befehl ein true an tasmota, damit schaltet tasmota wieder true false und so fängt es an sich aufzuschauckeln.
Manchmal ist das trigger auch fix vorbei und manchmal braucht es länger, was für ein Timing Problem sprechen würde.
-
Das kann natürlich sein. Dadurch dass durch deine Taster ja auch immer ein true/false initiiert wird, schaltet das noch häufiger.
-
@armilar
Puh, mal sehen vielleicht gibt es beim Tasmota ein deboucing für den MQTT Befehl den er in Richtung Iobroker schickt => mein normal ist mir der Zustand des Relay eh egal weil er nach 300ms eh immer false ist.EDIT: da ich im Tasmota nicht schnell fündig geworden bin habe ich es versucht über das Script zu lösen, dabei bin ich über diese Funktion gestolpert:
async function SubscribeMRIcons () { try { if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) { on({id: config.mrIcon1ScreensaverEntity.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); } } else { HandleScreensaverStatusIcons(); } }); } if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) { on({id: 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); } } else { HandleScreensaverStatusIcons(); } }); } } catch (err) { console.warn('function SubscribeMRIcons: ' + err.message); } }
kommentiere ich SubscribeMRIcons(); aus, ist das Verhalten mit dem Falker auch weg und man kann die DP für Relay auch noch schreiben.
-
Ja, kannst du machen. Dadurch verlierst du allerdings die Möglichkeit die Relay's direkt über die Datenpunkte zu schalten (benötigst du aber ja eh nicht).
Mein Gedanke war, warum erzeugst du dir kein dezentrales Emulations-Steuerungsskript auf externe Datenpunkte für die Umwandlung Switches <--> Buttons?
Damit könntest du dir doch viele Anpassungen in diesem und anderen Skripten ersparen, oder?