NEWS
Tasmota Taster und NSPanel Relais
-
Ich würde gerne mit einem (externen) Taster das Relais am NSPanel schalten. Der Code unten funktioniert leider nicht gewünscht,. Wo mache ich da den Fehler?
on({ id: [].concat(['mqtt.0.stat.tasmota_Dxxxxx.POWER1']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; let newState = !getState('alias.0.NSPanel.1.Licht.WZ.Decke_Schreibtisch.ON_ACTUAL').val; setState('alias.0.NSPanel.1.Licht.WZ.Decke_Schreibtisch.SET', newState); console.log(newState); });Anm: im LOG taucht ein "true" auf
-
Ich würde gerne mit einem (externen) Taster das Relais am NSPanel schalten. Der Code unten funktioniert leider nicht gewünscht,. Wo mache ich da den Fehler?
on({ id: [].concat(['mqtt.0.stat.tasmota_Dxxxxx.POWER1']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; let newState = !getState('alias.0.NSPanel.1.Licht.WZ.Decke_Schreibtisch.ON_ACTUAL').val; setState('alias.0.NSPanel.1.Licht.WZ.Decke_Schreibtisch.SET', newState); console.log(newState); });Anm: im LOG taucht ein "true" auf
-
Ich würde gerne mit einem (externen) Taster das Relais am NSPanel schalten. Der Code unten funktioniert leider nicht gewünscht,. Wo mache ich da den Fehler?
on({ id: [].concat(['mqtt.0.stat.tasmota_Dxxxxx.POWER1']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; let newState = !getState('alias.0.NSPanel.1.Licht.WZ.Decke_Schreibtisch.ON_ACTUAL').val; setState('alias.0.NSPanel.1.Licht.WZ.Decke_Schreibtisch.SET', newState); console.log(newState); });Anm: im LOG taucht ein "true" auf
-
@podex
Weshalb sind unter "alias.0" unterschiedliche Datenpunkte für Lesen und Schreiben vorhanden? Man verwendet Alias auch, um das zu vermeiden.
Ist "POWER1" ein Schalter oder ein Taster? -
@paul53 Ich verwende als Vorlage das Skript hier: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
POWER1 ist das Relais (das schaltet derzeit "leer", d.h. es ist dort nichts angeschlossen@podex Also ich habe das Problem gelöst, aber ich denke nicht, dass das nachhaltig ist.
Code:
on({ id: [].concat(['mqtt.0.stat.tasmota_Dxxxxx.POWER1']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; let newState; if (getState('alias.0.NSPanel.1.Licht.WZ.Decke_Sofa.ON_ACTUAL').val) {newState=0;} else {newState=1;} console.log(newState); setState('alias.0.NSPanel.1.Licht.WZ.Decke_Sofa.SET' /* SET */, newState); });Also ich schicke "1" bzw. "0" statt "true" bzw. "false". Das führt dann aber zu diesen Einträgen im LOG:
You are assigning a number to the state "alias.0.NSPanel.1.Licht.WZ.Decke_Sofa.SET" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions. -
@podex Also ich habe das Problem gelöst, aber ich denke nicht, dass das nachhaltig ist.
Code:
on({ id: [].concat(['mqtt.0.stat.tasmota_Dxxxxx.POWER1']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; let newState; if (getState('alias.0.NSPanel.1.Licht.WZ.Decke_Sofa.ON_ACTUAL').val) {newState=0;} else {newState=1;} console.log(newState); setState('alias.0.NSPanel.1.Licht.WZ.Decke_Sofa.SET' /* SET */, newState); });Also ich schicke "1" bzw. "0" statt "true" bzw. "false". Das führt dann aber zu diesen Einträgen im LOG:
You are assigning a number to the state "alias.0.NSPanel.1.Licht.WZ.Decke_Sofa.SET" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions. -
@tt-tom
Hi,ich klinke mich mal kurz hier ein. Bei mir klappt das Schalten so wie von dir beschrieben.
Aber nur das als "POWER 1" deklariertes Relais.setState ("mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER", 1); setState ("mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER", 0);Schaltet das Relais 1 an/aus. Der Rückgabewert dafür heißt "mqtt.0.stat.NSPANEL_KUECHE_899ED8.POWER1" und bewegt sich auch genau wie gedacht.
Nun die Frage: Wie kann ich denn POWER2, also das andere Relais schalten? Bekomme ich irgendwie nicht hin. Hat jemand eine Idee?
Danke,
Gruß Andy -
@tt-tom
Hi,ich klinke mich mal kurz hier ein. Bei mir klappt das Schalten so wie von dir beschrieben.
Aber nur das als "POWER 1" deklariertes Relais.setState ("mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER", 1); setState ("mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER", 0);Schaltet das Relais 1 an/aus. Der Rückgabewert dafür heißt "mqtt.0.stat.NSPANEL_KUECHE_899ED8.POWER1" und bewegt sich auch genau wie gedacht.
Nun die Frage: Wie kann ich denn POWER2, also das andere Relais schalten? Bekomme ich irgendwie nicht hin. Hat jemand eine Idee?
Danke,
Gruß Andy@volleyhomer sagte in Tasmota Taster und NSPanel Relais:
Nun die Frage: Wie kann ich denn POWER2, also das andere Relais schalten? Bekomme ich irgendwie nicht hin. Hat jemand eine Idee?
Du darfst nicht "POWER" nutzen, sondern "POWER1" und "POWER2".
mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER1 mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER2Wenn die DP nicht existieren, müssen sie angelegt werden.
-
@volleyhomer sagte in Tasmota Taster und NSPanel Relais:
Nun die Frage: Wie kann ich denn POWER2, also das andere Relais schalten? Bekomme ich irgendwie nicht hin. Hat jemand eine Idee?
Du darfst nicht "POWER" nutzen, sondern "POWER1" und "POWER2".
mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER1 mqtt.0.cmnd.NSPANEL_KUECHE_899ED8.POWER2Wenn die DP nicht existieren, müssen sie angelegt werden.
Irgendwie hätte ich da auch selber drauf kommen können. Es funktioniert.
Vielen lieben Dank und schönen Wochenanfang an dich!
Gruß Andy
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
