NEWS
Neues Javascript erstellen...
-
hallo, ich bin noch etwas neu in dem Bereich
ich möchte einfach einen Wert abfragen und je nach dem wie der Wert ist... 0 oder 1 soll ein Schalter ausgelöst werdenalso das ist der Wert..
wenn shelly.0.SHSW-1#84CCA8A8AF0C#1.ext.switch1 = 0 ist soll der Schalter shelly.0.SHSW-1#84CCA8A8AF0C#1.Relay0.Switch um 18:00 Uhr nicht auslösen
wenn shelly.0.SHSW-1#84CCA8A8AF0C#1.ext.switch1 = 1 ist soll der Schalter shelly.0.SHSW-1#84CCA8A8AF0C#1.Relay0.Switch um 18:00 Uhr auslösenwie mach ich so eine Abfrage? vielleicht kann mir da mal jemand helfen...wäre super...
-
@jens-meyer ich kenn die DP der Shelly nicht, ich habe keine, aber eigentlich musst du nur um 18:00 den State von ext.switch1 in Relay0.Switch setzen.
Das geht natürlich nur dann wenn beide mit 0 oder 1 arbeiten.
-
@htrecksler
Nein also switch1 hat die Werte 0 und 1
Und der Switch hat True und false also wenn wenn Switch1 den Wert 1 hat soll er den Switch schalten -
@jens-meyer sagte: wenn Switch1 den Wert 1 hat soll er den Switch schalten
Bei 1 einschalten, bei 0 ausschalten?
schedule('0 18 * * *', function() { setState('shelly.0.SHSW-1#84CCA8A8AF0C#1.Relay0.Switch', !!getState('shelly.0.SHSW-1#84CCA8A8AF0C#1.ext.switch1').val); });
-
@paul53
Hallo, danke... bei Wert 0 soll er es einfach ignorieren...bei wert 1 schalten...
Da der Switch der schaltet ein Taster ist
Vielen Dank ich Versuch das nachher mal -
@jens-meyer sagte: Da der Switch der schaltet ein Taster ist
Wie schaffst Du es, den Taster genau um 18:00 Uhr zu betätigen?
@jens-meyer sagte in Neues Javascript erstellen...:
bei wert 1 schalten...
Umschalten (toggle)?
-
@paul53
Das ist ja mein Problem was ich mit einem Script lösen möchte...
Der Switch ist als Taster deklariert in der Shelly App. Wird mir unter relays auch angezeigt wird mit True und false.. und unter ext der Switch1 ist ein Sensor der den Wert 0 oder 1 ausgibt und der Switch was ein Taster ist blos einmal auslösen soll wenn der Sensor Wert 1 ausgibt -
@jens-meyer sagte: einmal auslösen soll wenn der Sensor Wert 1 ausgibt
Um 18:00 Uhr oder immer bei Wechsel von 0 nach 1?
Version um 18:00, wenn dann der Wert 1 ist:schedule('0 18 * * *', function() { if(getState('shelly.0.SHSW-1#84CCA8A8AF0C#1.ext.switch1').val) setState('shelly.0.SHSW-1#84CCA8A8AF0C#1.Relay0.Switch', true); });
-
@paul53
Vielen Dank Paul,
Den Wert 0 soll er ignorieren und nur bei Wert 1 auslösen...
Ich hab mir das mal angesehen... woher weißt der Switch das der Wert 1 ist in deinem Beispiel?
Da steht ja nur).val) -
@jens-meyer sagte in Neues Javascript erstellen...:
Da steht ja nur).val)
wenn nichts dahinter steht ist es immer (=true)
-
@jens-meyer sagte: woher weißt der Switch das der Wert 1 ist in deinem Beispiel?
Javascript macht eine implizite Typwandlung 0 --> false, !=0 --> true.
-
@paul53
Ok, danke für die Erklärung...
Ich probiere es nachher gleich aus... danke nochmal Paul
Kurze Rückmeldung... funktioniert... klasse
Danke nochmal -
@jens-meyer
hallo, ich nochmal..
ich wollte noch eine Ausgabe für Alexa hinzu fügen , aber irgendwo hab ich einen Fehler
irgend eine Klammer falsch?schedule('0 18 * * *', function() { if(getState('shelly.0.SHSW-1#84CCA8A8AF0C#1.ext.switch1').val) setState('shelly.0.SHSW-1#84CCA8A8AF0C#1.Relay0.Switch', true); }); function Alexa_speak() { setState("alexa2.0.Echo-Devices.G090LF0971540FLK.Commands.speak"/*speak*/, (Garage geschlossen)); });
vielleicht kann mal jemand drüber schauen..
-
schedule('0 18 * * *', function() { if(getState('shelly.0.SHSW-1#84CCA8A8AF0C#1.ext.switch1').val) { setState('shelly.0.SHSW-1#84CCA8A8AF0C#1.Relay0.Switch', true); setState("alexa2.0.Echo-Devices.G090LF0971540FLK.Commands.speak"/*speak*/, 'Garage geschlossen'); } });
-
@paul53
hey paul... danke... prpiere ich morgen gleich mal aus... jetzt vergleich ich erstmal was ich da wieder vergeigt habe -
@jens-meyer
wenn ich noch ne ne 2te alexa einfügen würde da ändert sich doch wieder was mit den klammern hab ich recht?schedule('0 18 * * *', function() { if(getState('shelly.0.SHSW-1#84CCA8A8AF0C#1.ext.switch1').val) { setState('shelly.0.SHSW-1#84CCA8A8AF0C#1.Relay0.Switch', true); setState("alexa2.0.Echo-Devices.G090LF0971540FLK.Commands.speak"/*speak*/, 'Garage geschlossen'); setState("alexa2.0.Echo-Devices.IDderAlexa.Commands.speak"/*speak*/, 'Garage geschlossen'); } });
-
@jens-meyer sagte: ändert sich doch wieder was mit den klammern hab ich recht?
Was soll sich da ändern? Es ist korrekt so, wenn beide Alexa gleichzeitig ausgeben sollen.
-
@paul53
ah ok, danke... ja so ist es geplant
nochmal danke für deine hilfe -
guten Morgen, wie muss ein Script aufgebaut sein wenn ich
a) eine Benachrichtigung per Alexa möchte (hat mir @paul53 schon geholfen)
b)eine Benachrichtigung per Telegram dabei haben möchte
c) Alexa Benachrichtigung und Telegram Benachrichtigung auch abschaltbar machen also dann in einer View darauf das Ereignis und dann on/off als SchalterBeispiel:)
Garage (offen) Alexa-Benachrichtigung (an)(aus) Telegram-Benachrichtigung (an)(aus)