Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Virtueller Schalter funktioniert nicht

    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

    [gelöst] Virtueller Schalter funktioniert nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @HeliosFan last edited by

      @HeliosFan sagte:

      geht er auf "true" wechselt aber auf rot.

      Der Wechsel auf rot ist normal.

      @HeliosFan sagte in Virtueller Schalter funktioniert nicht:

      Im Log kommen Fehler

      Was steht in Zeile 24 des von Blockly erzeugten Javascript-Codes ?

      @HeliosFan sagte in Virtueller Schalter funktioniert nicht:

      Mehr passiert einfach nicht.

      Bei Fehlern wird die Skriptausführung abgebrochen.

      H 1 Reply Last reply Reply Quote 0
      • H
        HeliosFan @paul53 last edited by HeliosFan

        @paul53 ```

        var zuletzt_eingestelle_Temperatur, timeout;
        
        
        on({id: 'javascript.0.Eigene_Datenpunkte.01Virtuelle_Schalter.01Schnelles_Aufheizen', change: "any"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (getState("javascript.0.Eigene_Datenpunkte.01Virtuelle_Schalter.01Schnelles_Aufheizen").val == true) {
            zuletzt_eingestelle_Temperatur = getState("fritzdect.0.Hgroup_3D:48:6F-900.lasttarget").val;
            setState("alexa2.0.Echo-Devices.G090P3088455013L.Commands.speak"/*speak*/, 'schnelles auheizen gestartet');
            setState("fritzdect.0.Hgroup_3D:48:6F-900.targettemp"/*Target Temp*/, 28);
            console.log('schnellheizen');
            (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
            timeout = setTimeout(function () {
              if (compareTime('06:00', '12:00', "between", null) || compareTime('17:00', '22:00', "between", null)) {
                setState("fritzdect.0.Hgroup_3D:48:6F-900.targettemp"/*Target Temp*/, getState("fritzdect.0.Hgroup_3D:48:6F-900.comfytemp").val);
              } else {
                setState("fritzdect.0.Hgroup_3D:48:6F-900.targettemp"/*Target Temp*/, zuletzt_eingestelle_Temperatur);
              }
              setStateDelayed("alexa2.0.Echo-Devices.G090P3088455013L.Commands.speak"/*speak*/, 'schnelles auheizen beendet', 1000, false);
            }, 1800000);
          }
        });
        
        obj.id;
        
        
        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @HeliosFan last edited by

          @HeliosFan

          Da lungert irgendwo noch ein Block "Objekt ID" rum, der gelöscht werden muss.

          H 1 Reply Last reply Reply Quote 0
          • H
            HeliosFan @paul53 last edited by

            @paul53
            ok, aber wo ?
            ich finde nichts
            {
            "from": "system.adapter.javascript.0",
            "user": "system.user.admin",
            "ts": 1573659650120,
            "common": {
            "name": "Virtueller Schalter Schnelles_Aufheizen",
            "type": "boolean",
            "role": "switch",
            "read": true,
            "write": true,
            "def": false,
            "smartName": {
            "de": "schnellheizen",
            "smartType": "SWITCH"
            }
            },
            "native": {},
            "acl": {
            "object": 1638,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator",
            "state": 1638
            },
            "_id": "javascript.0.Eigene_Datenpunkte.01Virtuelle_Schalter.01Schnelles_Aufheizen",
            "type": "state"
            }

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

              @HeliosFan sagte:

              ok, aber wo ?

              Im Blockly. Vielleicht hat sich der verwaiste Block hinter dem Trigger-Block versteckt ? Dann verschiebe mal den gesamten Triggerblock, damit er zum Vorschein kommt.

              H 1 Reply Last reply Reply Quote 0
              • H
                HeliosFan @paul53 last edited by HeliosFan

                @paul53
                ja das wars.
                Ändert aber nicht, das Blockly wird nicht abgearbeitet.
                Es wird nur die Bedingung erfüllt, die im Timeout steht:
                17d57c05-a7a9-4087-9845-867428293b68-grafik.png
                Und die Heizung auf 23 Grad regelt (Comfort Temp)

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

                  @HeliosFan sagte:

                  virtuellen Schalter über die Alexa App betätige geht er auf "true" wechselt aber auf rot.

                  Dann tut sich nichts und im Reiter "Log" erscheint kein 'schnellheizen' ?

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    HeliosFan @paul53 last edited by

                    @paul53 so ist es. Leider

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      HeliosFan @HeliosFan last edited by

                      Hat vielleicht sonstwer noch eine Idee

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

                        @HeliosFan
                        Kleines Testskript:

                        log('Start Testskript');
                        on({id: 'javascript.0.Eigene_Datenpunkte.01Virtuelle_Schalter.01Schnelles_Aufheizen'}, function(dp) {
                           log('Test virtuellen Schalter: ' + dp.state.val);
                        });
                        
                        H 1 Reply Last reply Reply Quote 0
                        • H
                          HeliosFan @paul53 last edited by HeliosFan

                          @paul53 said in Virtueller Schalter funktioniert nicht:

                          log('Start Testskript');

                          javascript.0 2019-11-14 17:37:16.043 info script.js.Skripte.Heizung.Test: registered 1 subscription and 0 schedules
                          javascript.0 2019-11-14 17:37:16.042 info script.js.Skripte.Heizung.Test: Start Testskript
                          javascript.0 2019-11-14 17:37:16.007 info Start javascript script.js.Skripte.Heizung.Test

                          mehr passiert nicht
                          44ddcc1c-69ec-40b4-80f2-06dd923d741a-grafik.png

                          Hab den DP zwischenzeitlich mal gelöscht und neu erstellt

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

                            @HeliosFan sagte:

                            mehr passiert nicht

                            Damit was passiert, muss erst der Wert des Datenpunktes aktualisiert werden (im Reiter "Objekte" abschicken). Wenn Du beides (Reiter "Objekte" und Reiter "Skript") im gleichen Browser-Tab hast, siehst Du Log-Einträge nach Reiter-Wechsel nicht bei den Skripten, sondern nur im Reiter "Log".

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              HeliosFan @paul53 last edited by HeliosFan

                              @paul53
                              Wenn ich den Wert manuell ändere erscheint nur das im Log, sonst nichts

                              890c79ec-d73e-40fa-8070-7dd8275e77d1-grafik.png

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

                                @HeliosFan sagte:

                                erscheint nur das im Log

                                Mehr wollten wir nicht sehen: Der Trigger funktioniert !

                                Ist das Blockly-Skript deaktiviert ? Wenn nicht, hätte ich einen weiteren Log-Eintrag 'schnellheizen' um 17:48:42 Uhr erwartet.

                                H 1 Reply Last reply Reply Quote 0
                                • H
                                  HeliosFan @paul53 last edited by

                                  @paul53
                                  wenn das Blockly läuft und ich den Datenpunkt manuell auf true setzte, wird das Blockly durchlaufen.
                                  Per Sprachbefehl passiert nichts weiter als dass Alexa meldest OK.

                                  paul53 2 Replies Last reply Reply Quote 0
                                  • paul53
                                    paul53 @HeliosFan last edited by

                                    @HeliosFan sagte:

                                    wird das Blockly durchlaufen.

                                    Das ist schon mal gut.

                                    @HeliosFan sagte in Virtueller Schalter funktioniert nicht:

                                    Per Sprachbefehl passiert nichts weiter als dass Alexa meldest OK.

                                    Da kann ich nicht mitreden, denn ich verwende keine Sprach-Adapter.

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

                                      @HeliosFan
                                      Kennst Du das hier ?

                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        HeliosFan @paul53 last edited by HeliosFan

                                        @paul53 Nochmal recht herzlichen Dank für Deine Geduld mit mir alten Esel.
                                        Manchmal sieht man den Wald vor Bäumen nicht, oder vielleicht denke ich auch zu umständlich 😊 😊
                                        Ich hab es gelöst.
                                        Zunächt habe ich den virtuellen Schalter neu erstellt (auch im cloud.0 Adapter) und neu von Alexa suchen lassen.
                                        Da Alexa jeden Befehl erst mal mit OK beantwortet (sofern nichts anderes eingestellt) ging die Ausgabe über den speak Befehl unter, da die Verzögerung fehlte.
                                        Dann fehlte noch die Rückstellung des virtuellen Schalter auf false, nachdem das Blockly durchgelaufen ist und die Synchronisation mit meinen HMIP Wandthermostat, der die vom Script vorgenommene Temperatur Anhebung nicht mitbekommen hatte.

                                        Nun für alle die mit der selben oder ähnlich gelagerten Problematik zu kämpfen haben hier das finale Blockly:

                                        8c87c9b9-6a93-489c-867f-828cf03f56f9-grafik.png

                                        der funktionierende Schalter:

                                        0feaea4c-ed14-4690-82b9-38bc665eca88-grafik.png

                                        Und die Cloud Anbindung für Alexa:

                                        c8a3f600-e4d4-4da9-bf3f-d21117f71474-grafik.png

                                        Und aufrufen kann man es mit: "Alexa schalte schnellheizen ein"

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        778
                                        Online

                                        31.9k
                                        Users

                                        80.3k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        33
                                        1656
                                        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