Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Leseratte10

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    L
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 7
    • Best 0
    • Groups 0

    Leseratte10

    @Leseratte10

    0
    Reputation
    15
    Profile views
    7
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Leseratte10 Follow

    Latest posts made by Leseratte10

    • Blockly-Script triggert dauerhaft nach Auslösung

      Hallo zusammen,

      ich habe folgendes Blockly-Script, welches einen Sonoff TH16 steuert. Der Sonoff hängt an einer Lampe in einem Schrank, und am Sonoff hängt ein Taster der mit der Schranktür verbunden ist - Schranktür auf = Lampe an, Schranktür zu = Lampe wieeder aus.

      Weil ich aber häufig den Schrank offen stehen lasse, aber dann nicht die ganze Zeit das Licht brennen soll, nutze ich folgendes Script, um das Licht nach einiger Zeit automatisch abzuschalten:

      on({id: "sonoff.0.DVES_5174.POWER"/*DVES_5174 POWER*/, change: "ne", ack: true}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("sonoff.0.DVES_5174.POWER").val == true) {
          setStateDelayed("sonoff.0.DVES_5174.POWER"/*DVES_5174 POWER*/, false, 180000, true);
        }
      });
      

      Im "Normalbetrieb" läuft alles prima. Mir ist aber aufgefallen: Wenn ich die Tür nur leicht zu schubse, sodass sie vom Taster wieder abprallt und den Taster mehrmals pro Sekunde betätigt (oder wenn ich mich bei offener Tür hinstelle und den Taster selber ein paar mal schnell hintereinander drücke und wieder loslasse), läuft das Script amok - im Millisekundentakt geht das Licht an und aus, ausgelöst durch ioBroker (nicht durch den Sonoff selbst). Debuggen / analysieren lässt sich auch nix mehr, weil das Log überläuft - ich muss dann den Iobroker neustarten, es reicht nicht, den Sonoff neuzustarten.

      Halte ich den Iobroker an (iobroker stop), kann ich den Taster so oft drücken wie ich will und alles funktioniert, ebenso, wenn der Iobroker läuft und nur das Script nicht. Wenn das Script läuft und ich dann den Taster schnell hintereinander drücke, gibts wieder Probleme.

      Woher kommt das? Kommt der Iobroker durcheinander, wenn das Script schnell hintereinander ausgeführt wird? Warum das?
      5800_bildschirmfoto_von__2018-04-17_18-42-42_.png

      posted in Skripten / Logik
      L
      Leseratte10
    • RE: Einfach mal zeigen will….. :-) - Teil 1

      @tempestas:

      …

      Gestern ist bei mir mein Abschnitt "Alarm" zumindest iW. fertig geworden:

      alarm.png `

      Das Hintergrundbild von dem Alarmsystem sieht ja cool aus. Kannst du das irgendwo hochladen? Habe das im Internet nirgendwo gefunden …

      posted in Praktische Anwendungen (Showcase)
      L
      Leseratte10
    • .vis-Parameter über Javascript ändern?

      Hallo zusammen,

      ich nutze den IoBroker.vis-Adapter mit dem Metro-Design für meine Automation. Ich suche jetzt nach einer Möglichkeit, die Eigenschaften der Objekte in Vis über ein Javascript (bzw. über Blockly) zu verändern. Also z. B. über Blockly bei einem bestimmten Event die Beschriftung oder das Bild eines Buttons in Vis ändern. Leider habe ich da keine passende Schnittstelle gefunden - geht sowas gar nicht? Ich hätte jetzt erwartet, dass alle Objekte aus Vis auch im Objekte-Baum in IoBroker auftauchen, damit man die wie ein Gerät ändern kann

      Leseratte10

      posted in Visualisierung
      L
      Leseratte10
    • RE: 2 sonoff touch eine lampe

      Ich würde die vorhandene Wechselschaltung ignorieren und die entweder mittels MQTT direkt im Sonoff, oder über IOBroker umsetzen. Also einen Lichtschalter normal durch einen Touch ersetzen, den anderen auch, aber den zweiten Schalter nur mit Strom versorgen und nicht mit der Lampe verbinden. Dann einfach in ioBroker (oder Tasmota) den ersten (Haupt-)Schalter schalten lassen, wenn der zweite auslöst.

      Entweder über Tasmota und den "ButtonTopic" (einfach den MQTT-Befehl für den anderen Sonoff eintragen), oder in IoBroker über Javascripte / Blockly oder so den Hauptschalter triggern wenn der andere auslöst.

      Dann lässt sich das auch relativ einfach um weitere Schalter erweitern.

      posted in Visualisierung
      L
      Leseratte10
    • Über Blockly Javascript deaktivieren

      Nochmal eine weitere Frage zu Blockly: Ich möchte den "update scriptEnabled.common.test with false"-Block nutzen, um das aktuelle Script nach Ablauf abzuschalten, also so, dass es erst wieder über das Interface mit dem roten Play-Button gestartet werden muss.

      Schaue ich danach unter "Objects" mir den Wert von "javascript.0.scriptEnabled.common.test" an, steht der auf "false", wie es sein soll. In der Scripte-Übersicht läuft das Script aber noch (grüner Pause-Button sichtbar). Kann man mit Blockly keine Scripte deaktivieren?
      5800_bildschirmfoto_von__2018-02-11_00-26-04_.png

      posted in Skripten / Logik
      L
      Leseratte10
    • RE: [erledigt] Blockly-Script - alle Lichter ausschalten nach "Doppelklick"

      Ist das schon der ganze Code? Da wird ja nirgendwo "timeout" mal auf irgendwas gesetzt.

      Wenn ich vor das "Execute timeout in 300 ms" noch ein "set timeout to true" mache, habe ich wieder Dauerschalten (rappeln des Relais) im Touch und danach hängt alles.

      EDIT: Anscheinend löst das automatische Setzen der drei Schalter (einschließlich meines "Trigger-Schalters) wieder irgendwas aus. Ich habe jetzt an den drei "control <schalter>with false" ein Delay von 350ms (also etwas länger als das Timeout unten) gesetzt und jetzt klappt alles. Danke für den Tipp.</schalter>
      5800_bildschirmfoto_von__2018-02-10_10-37-10_.png

      posted in Skripten / Logik
      L
      Leseratte10
    • [erledigt] Blockly-Script - alle Lichter ausschalten nach "Doppelklick"

      Hallo zusammen,

      ich habe einen Sonoff Touch und mehrere Sonoff TH in einem Zimmer. Ich möchte jetzt, wenn der Sonoff Touch eingeschaltet ist, durch einen "Doppelklick" auf den Knopf (also schnelles aus- und wieder einschalten) alle Geräte im Zimmer ausschalten.

      Habe dazu folgendes mit Blockly gebastelt:

      var doubletap_off, timeout2, timeout3;
      
      doubletap_off = false;
      on({id: "sonoff.0.DVES_0447.POWER"/*DVES_0447 POWER*/, change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (doubletap_off == true) {
          setState("sonoff.0.DVES_0447.POWER"/*DVES_0447 POWER*/, false, true);
          setState("sonoff.0.DVES_5080.POWER"/*DVES_5080 POWER*/, false, true);
          setState("sonoff.0.DVES_5174.POWER"/*DVES_5174 POWER*/, false, true);
          timeout3 = setTimeout(function () {
            doubletap_off = false;
          }, 200);
        }
        if (doubletap_off == false) {
          if (getState("sonoff.0.DVES_0447.POWER").val == false) {
            doubletap_off = true;
            timeout2 = setTimeout(function () {
              doubletap_off = false;
            }, 300);
          }
        }
      });
      

      (Grafik siehe Anhang).

      DVES_0447 ist der Touch-Schalter, die anderen beiden sind die normalen Sonoff-Teile, die geschaltet werden sollen.

      Wenn ich jetzt aber den Schalter zweimal drücke, macht er erst merkwürdige Geräusche, als wenn er ziemlich schnell hintereinander immer wieder schalten würde, schmiert dann ab, und auch der ioBroker reagiert nicht mehr vernünftig. Aber warum? Ich setze doch extra erst nach einem Timeout von 200ms den Wert auf "false" zurück, damit nicht die automatisierte Schaltung wieder was auslöst …

      Gibt es in Blockly eine Möglichkeit a la "Schalte X, aber ohne irgendwelche Blockly-Trigger auszulösen"?

      Leseratte10
      5800_blockly.png

      posted in Skripten / Logik
      L
      Leseratte10
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo