NEWS


  • @darki sagte in Verbessungspotental am Script bzw. Vorgehensweise:

    Die Funktion on() kann doch bestimmt direkt auf "true" und "false" prüfen

    Ja, aber da beide Werte (false/true) ausgewertet werden, macht es im Trigger keinen Sinn. Vereinfachung:

    var wert = getState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position").val;
    on({id:"0_userdata.0.Alexa_Geräte.Jalousie_Couch.steuern"},function(obj){
        if (obj.state.val) wert += 5;
        else  wert -= 5;
        if(wert < 0) wert = 0;
        if(wert > 100) wert = 100; 
        setState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position", wert);
    });
    

  • Ja funktioniert genauso gut.
    Ich werde mich wohl mal in Javascript einlesen müssen.
    Ansonsten ist die Vorgehensweise so nicht grundlegend falsch?


  • @darki sagte:

    Vorgehensweise so nicht grundlegend falsch?

    Nein, sie hat doch funktioniert.

  • Developer

    @darki was du noch ändern könntest wäre var mit let bzw. const zu ersätzen, da var eingentlich nicht mehr verwendet wird.

    Und falls du deine Wertzuweisung noch ein bisschen kürzer machen möchtest kannst du dir die geänderte Zeile unten einmal anschauen.

    Wenn die Vorgehensweise funktioniert, dann ist sie nicht falsch. Mitunter wirst du aber vielleicht nach einer Zeit merken, dass es auch einfacher oder eleganter geht.

    let wert = getState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position").val;
    
    on({id:"0_userdata.0.Alexa_Geräte.Jalousie_Couch.steuern"}, function(obj) {
    
        wert = obj.state.val ? wert + 5 : wert - 5;
        
        if(wert < 0) wert = 0;
    
        if(wert > 100) wert = 100; 
    
        setState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position", wert);
    
    });
    

  • @J-A-R-V-I-S said in Verbessungspotental am Script bzw. Vorgehensweise:

    Wenn die Vorgehensweise funktioniert, dann ist sie nicht falsch. Mitunter wirst du aber vielleicht nach einer Zeit merken, dass es auch einfacher oder eleganter geht.

    Deswegen frage ich ja 😉
    Da kommen noch einige Jalousien dazu.
    Zudem noch ein haufen Rollos und später Dimmer.
    Wenn meine Lampen fertig sind, auch ein haufen WS2812b Strpies mit ESP8266 gesteuert durch MQTT.
    Ich muss ehrlich zugeben, das ioBroker zwar deutlich schlechter beschrieben/dokumentiert ist als OpenHAB.
    Aber ich hab es deutlich schneller gerafft.

    Wenn ich in ein paar Tagen immer noch so überzeugt bin, werde ich wohl gerne was spenden.

    Auch die Community scheint deutlich hilfsbereiter zu sein.

    ♥


  • Hab jetzt noch Astro hinzugefügt, diesmal mit Blockly.

    Unbenannt.PNG

    Leider funktioniert das so nicht.
    Heute morgen wurden die Jalousien nicht geöffnet.
    Abends sollen alle runterfahren, ausser die Terasse, die soll auf 60% runter und dann kurz darauf auf 65% um zu zu fahren.

    Längen und Breitengrad sind eingetragen, automatisch nachdem ich Land und Stadt eingegeben habe.
    Habe ich was vergessen?


  • @darki
    Hat sich erledigt. Hatte die Richtungen falsch.


  • wenn du mal 15 Prozent fahren willst musst du ja 3x Alexa anquatschen.
    Mir ist es lieber ich kann eine gewünschte Position direkt anfahren.
    ich habe im iot-Adapter den Datenpunkt meinen DP "shelly.0.SHSW-25#00815D#1.Shutter.Position" eingetragen mit Smartnamen "Rollladen Vitrinenfenster".
    -> Alexa, suche Geräte
    -> Alexa, schalte Rollladen Vitrinenfenster auf 15 Prozent" -> OK

    Ein Script werde ich nur für die speziellen Aufgaben anlegen.
    z.B bei den Rollläden wo die Fenster nach außen öffnen um zu verhindern dass der Laden die Fenster rammt, oder für die Terrrassentür(Haustierpippigehmodus, Aussperrschutz für Astroautomatik wenn wir im Garten sind), dynamische Verschattung bei Sonneneinstahlung.

    Gruß Michael


  • Jein, also ich benutzte mehrere Kommandos.
    Mit "Auf/Zu" fahre ich jeweils 5 vom aktuellen wert.
    Wenn ich "hoch/runter" benutze, dann fährt alles 25% hoch bzw runter. Das funktioniert einfach durch verknüpfen des "Position" werts mit einem IoT Gerät.
    Kommando "ganz hoch/runter" fährt dann komplett.

    Hier die Konfiguration:
    Unbenannt.PNG

    Unbenannt.PNG

    Jalousie Küche (Position) wirkt direkt auf die Position in %. Kommando "hoch/runter" sind wohl automatisch 25% und "ganz hoch/runter" dann jeweilt komplett.
    Jalousie Küche steuern ist der oben genannte Script und wird in Alexa mit Routinen durch "Auf/Zu" ausgelöst.
    Jalousie Küche stop setzt mit dem Kommando "Jalousie Küche stop" das Shelly element "pause" aus.

    Wobei das Kommando "Jalousie Küche stop" wohl auch direkt das Gerät "Jalousie Küche" steuert. Da muss ich mir noch was einfallen lassen.
    Insgesammt funktioniert das so schon ganz gut.


  • danke für die Erklärung! hoch/runter werde ich dann auch nutzen.

Suggested Topics

  • 16
  • 6
  • 2
  • 13
  • 5
  • 9
  • 27
  • 19

1.8k
Online

36.9k
Users

42.6k
Topics

591.4k
Posts