Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. SONOFF stürzt bei Script ab

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    SONOFF stürzt bei Script ab

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DKM last edited by

      Hallo miteinander,

      ich habe mir ein kleines Script zusammengebastelt, welches einen SONOFF Basic schalten soll, wenn ein Bewegungsmelder was registriert und dann nach einer einstellbaren Zeit wieder ausschalten.

      Der Bewegungsmelder kann nur ein Signal senden und wird über RFLink abgefragt, was auch super klappt. Anfangs läuft alles wunderbar, aber nach einiger Zeit wirkt es, als ob der SONOFF abstürzt. Ich dachte erst an einen Hardwaredefekt und habe den SONOFF bereits getauscht, aber bei dem neuen tritt das gleiche Phänomen auf. Der SONOFF funktioniert dann erst wieder, wenn der Strom komplett getrennt wurde.

      Hier das Blockly-Script
      4937_sonoff_blockly.png

      und der entsprechenden Code

      ! var Zeit; on({id: 'rflink.0.channels.EV1527_1.SWITCH_06', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Zeit = (new Date().getHours() * 3600 + new Date().getMinutes() * 60 + new Date().getSeconds()); Zeit = (typeof Zeit == 'number' ? Zeit : 0) + 30; setState("javascript.0.scriptEnabled.Eigene.Küche.Bewegungsmelder_Zeit", Zeit, true); setState("sonoff.0.SON_Kueche_Licht.POWER"/*SON_Kueche_Licht POWER*/, true); }); on({id: 'sonoff.0.SON_Kueche_Licht.POWER', val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; schedule("* * * * * *", function () { if (Zeit <= (new Date().getHours() * 3600 + new Date().getMinutes() * 60 + new Date().getSeconds())) { setState("sonoff.0.SON_Kueche_Licht.POWER"/*SON_Kueche_Licht POWER*/, false); } }); }); !

      Hier noch ein Auszug aus der Konsole vom SONOFF

      ! ````
      15:59:42 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T15:59:42","Uptime":"11T08:34:57","Vcc":3.206,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":60,"APMac":"XX:XX:XX:XX:XX:XX"}}
      15:59:53 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T15:59:52","Uptime":"11T08:35:07","Vcc":3.209,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:00:03 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:00:02","Uptime":"11T08:35:17","Vcc":3.208,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:00:12 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:00:12","Uptime":"11T08:35:27","Vcc":3.207,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:00:23 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:00:22","Uptime":"11T08:35:37","Vcc":3.207,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:00:33 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:00:32","Uptime":"11T08:35:47","Vcc":3.208,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":60,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:00:42 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:00:42","Uptime":"11T08:35:57","Vcc":3.208,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":60,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:00:53 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:00:52","Uptime":"11T08:36:07","Vcc":3.208,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":60,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:01:03 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:01:02","Uptime":"11T08:36:17","Vcc":3.209,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":60,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:01:12 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:01:12","Uptime":"11T08:36:27","Vcc":3.206,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":60,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:01:23 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:01:22","Uptime":"11T08:36:37","Vcc":3.206,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:01:33 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:01:32","Uptime":"11T08:36:47","Vcc":3.207,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:01:42 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:01:42","Uptime":"11T08:36:57","Vcc":3.208,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:01:53 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:01:52","Uptime":"11T08:37:07","Vcc":3.205,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:02:01 MQT: tele/sonoff/UPTIME = {"Time":"2018-10-09T16:02:00","Uptime":"11T08:37:15"}
      16:02:02 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:02:02","Uptime":"11T08:37:17","Vcc":3.207,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:02:12 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:02:12","Uptime":"11T08:37:27","Vcc":3.209,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:02:23 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:02:22","Uptime":"11T08:37:37","Vcc":3.206,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:02:33 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:02:32","Uptime":"11T08:37:47","Vcc":3.208,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:02:42 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:02:42","Uptime":"11T08:37:57","Vcc":3.209,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:02:53 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:02:52","Uptime":"11T08:38:07","Vcc":3.207,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}
      16:03:03 MQT: tele/sonoff/STATE = {"Time":"2018-10-09T16:03:02","Uptime":"11T08:38:17","Vcc":3.208,"POWER":"ON","Wifi":{"AP":1,"SSId":"ROUTER","RSSI":58,"APMac":"XX:XX:XX:XX:XX:XX"}}

      
      Ich habe das Gefühl, dass das Script immer wieder den Status auf "off" setzt. Der SONOFF empfängt dieses per MQTT und … mhmm Speicherüberlauf fällt mir als Wort dazu ein.
      
      Ich hoffe mir kann jemand helfen. Sollte es, wie ich vermute, am Script liegen, bitte ich auch um eine Erklärung was falsch ist :)
      
      Vielen Dank im Voraus
      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        @DKM:

        Ich habe das Gefühl, dass das Script immer wieder den Status auf "off" setzt. `
        Ja, per Zeitplan jede Sekunde.
        @DKM:

        SONOFF Basic schalten soll, wenn ein Bewegungsmelder was registriert und dann nach einer einstellbaren Zeit wieder ausschalten. `
        Ausschalten: steuere SONOFF mit unwahr mit Verzögerung (<u>Haken</u>) 30 s

        1 Reply Last reply Reply Quote 0
        • D
          DKM last edited by

          ok, das funktioniert besser.

          Ich habe das Script so geschrieben, dass das Licht anbleibt, wenn innerhalb der 30 Sekunden eine erneute Bewegung registriert wird.

          Nun habe ich, so wie du beschrieben hast, den unteren Teil geändert. Leider schaltet der SONOFF nun auch aus, wenn innerhalb der Zeit eine neue Bewegung registriert wird.

          4937_sonoff_blockly.png

          Hast du für das Problem auch eine Lösung?

          Liebe Grüße

          P.S. "löschen falls läuft" hatte ich testweise mal aktiviert, aber da schaltet der SONOFF sofort nach dem einschalten wieder aus.

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            Was soll das Schreiben der Variablen Zeit auf den Datenpunkt javascript.0.scriptEnabled.Eigene.Küche.Bewegung.. bewirken ?

            Die 3 Statements mit dieser Variablen solltest Du löschen !
            @DKM:

            Leider schaltet der SONOFF nun auch aus, wenn innerhalb der Zeit eine neue Bewegung registriert wird. `
            Versuche es mal mit einem Haken bei ,löschen falls läuft.

            1 Reply Last reply Reply Quote 0
            • D
              DKM last edited by

              Super, es lag tatsächlich an der Variable, da ich vorher schon den Haken mal testweise gesetzt habe. Ich lass es mal einen Tag laufen und schau wie der SONOFF reagiert.

              Die Variable hatte ich gesetzt, damit ich einen rechnerischen Wert ermitteln konnte und der SONOFF nach einer definierten Zeit ausschaltet.

              Ich habe dabei die Differenz der gespeicherten Zeit in der Variable mit der aktuellen Zeit verglichen und sobald diese über dem Wert (30 Sek.) war, hat der SONOFF ausgeschaltet. Daher auch der Zeitplan. Ich dachte eigentlich, dass dieser dann auch ausschaltet, sobald das Script fertig ist, aber das war wohl nicht der Fall.

              Danke für deine Hilfe

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              940
              Online

              31.7k
              Users

              79.9k
              Topics

              1.3m
              Posts

              2
              5
              339
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo