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.
    • dslraser
      dslraser Forum Testing Most Active @HeliosFan last edited by dslraser

      @HeliosFan sagte in Virtueller Schalter funktioniert nicht:

      und noch eine Bitte:

      Ich finde den Post von neulich nicht mehr, wo ein Blockly zur Erzeugung eines eingenen Datenpunktes unter javasript.0 gezeigt wurde.
      Ich habs mir iregendwie zerschossen.
      Bitte nochmal !

      Hier mal drei Beispiele

      • ein Button
      • ein Schalter
      • ein String

      <xml xmlns="http://www.w3.org/1999/xhtml">
       <block type="procedures_defcustomnoreturn" id="}`|TJu~h$I)LcxvN*p|[" x="88" y="88">
         <mutation statements="false"></mutation>
         <field name="NAME">Datenpunkt_anlegen</field>
         <field name="SCRIPT">Ly9EYXRlbnB1bmt0IEJ1dHRvbiBlcnN0ZWxsZW4KY3JlYXRlU3RhdGUoIkVpZ2VuZV9EYXRlbnB1bmt0ZS5WaXJ0dWVsbGVfU2NoYWx0ZXIuMDFUZXN0YnV0dG9uX21pdF9TbWFydE5hbWVuIiwgewogICAgIm5hbWUiOiAiMDFUZXN0YnV0dG9uX21pdF9TbWFydE5hbWVuIiwKICAgICJyb2xlIjogImJ1dHRvbiIsCiAgICAidHlwZSI6ICJtaXhlZCIsCiAgICAicmVhZCI6IHRydWUsCiAgICAid3JpdGUiOiB0cnVlLAogICAgInNtYXJ0TmFtZSI6IHsKICAgICAgImRlIjogIlRlc3RidXR0b24gbWl0IFNtYXJ0bmFtZW4iLAogICAgICAic21hcnRUeXBlIjogIlNXSVRDSCIKICAgIH0KfSk7Ci8vRGF0ZW5wdW5rdCBTd2l0Y2ggKFNjaGFsdGVyKSBlcnN0ZWxsZW4tSW5pdGlhbGlzaWVydCBtaXQgdHJ1ZQpjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLlZpcnR1ZWxsZV9TY2hhbHRlci4wMlRlc3RzY2hhbHRlcl9taXRfU21hcnROYW1lbiIsJ3RydWUnLCB7CiAgICBuYW1lOiAnMDJUZXN0c2NoYWx0ZXJfbWl0X1NtYXJ0TmFtZW4nLCAKICAgIHJvbGU6ICdzd2l0Y2gnLAogICAgdHlwZTogJ2Jvb2xlYW4nLCAKICAgIHJlYWQ6ICB0cnVlLCAKICAgIHdyaXRlOiB0cnVlLAogICAgInN0YXRlcyI6ICJ0cnVlOmVpbmdlc2NoYWx0ZXQ7ZmFsc2U6YXVzZ2VzY2hhbHRldCIsCiAgICAic21hcnROYW1lIjogewogICAgImRlIjogIlRlc3RzY2hhbHRlciBtaXQgU21hcnROYW1lbiIsCiAgICAic21hcnRUeXBlIjogIlNXSVRDSCIKfQp9KTsKLy9EYXRlbnB1bmt0IFN0cmluZyBlcnN0ZWxsZW4tIFRleHQgd2lyZCBJbnRpYWxpc2llcnQKY3JlYXRlU3RhdGUoIkVpZ2VuZV9EYXRlbnB1bmt0ZS5WaXJ0dWVsbGVfU2NoYWx0ZXIuMDNUZXN0c3RyaW5nIiwnSGllciBzdGVodCBlaW4gVGV4dCcsIHsKICAgIG5hbWU6ICcwM1Rlc3RzdHJpbmcnLCAKICAgIHJvbGU6ICdzdHJpbmcnLAogICAgdHlwZTogJ3N0cmluZycsCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogdHJ1ZSwKfSk7</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="procedures_callcustomnoreturn" id="Cs[B(f2xL,GNDwczSxmg" x="87" y="137">
         <mutation name="Datenpunkt_anlegen"></mutation>
       </block>
      </xml>
      

      In der Funktion auf </> klicken, dann öffnet sich der Funktion Editor.
      Da steht das drinn


      Bildschirmfoto 2019-11-13 um 18.50.20.png

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

        @HeliosFan sagte:

        Alexa meldet "OK"

        "schnelles aufheizen beendet" muss verzögert (innerhalb von Ausführen timeout) ausgeführt werden.

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

          @dslraser danke

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

            @paul53 werd ich versuchen, danke

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

              Es bleibt dabei: funktioniert nicht
              Ich habe mal an dem Datenpunkt rumgespielt.
              3eb86403-054c-4ee2-91dc-3038b51e8509-grafik.png

              Funktioniert nicht mit state/state, state/switch, und auch nicht mit state/button

              Blockly:
              ab369ca8-17d3-48ee-94c8-b71db56887a2-grafik.png

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

                @HeliosFan sagte:

                Funktioniert nicht mit state/state, state/switch, und auch nicht mit state/button

                Die Rolle hat für Javascript keine Bedeutung.
                Was funktioniert nicht ?

                • Wird nicht getriggert ?
                • Keine Sprachausgabe ?
                • Der Sollwert wird nicht verändert ?
                H 1 Reply Last reply Reply Quote 0
                • H
                  HeliosFan @paul53 last edited by

                  @paul53 said in Virtueller Schalter funktioniert nicht:

                  Was funktioniert nicht ?

                  Wird nicht getriggert ?
                  Keine Sprachausgabe ?
                  Der Sollwert wird nicht verändert ?

                  Alles davon

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

                    @HeliosFan sagte:

                    Alles davon

                    Wie stellst Du ohne Log-Baustein fest, dass nicht getriggert wird ?

                    Blockly_temp.JPG

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

                      @paul53
                      b45e77f2-81bf-4621-8956-9c0322301524-grafik.png

                      Kein Eintrag im Log

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

                        @HeliosFan sagte:

                        Kein Eintrag im Log

                        Und der Wert wurde auf / bei true aktualisiert ?

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

                          @paul53
                          nein

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

                            @HeliosFan sagte:

                            nein

                            Das ist aber erforderlich, damit getriggert wird und die Bedingung im falls-Block erfüllt ist.

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

                              @paul53
                              Also wenn ich den virtuellen Schalter über die Alexa App betätige geht er auf "true" wechselt aber auf rot.
                              Im Log kommen Fehler

                              a7782fd3-da06-4054-bd17-f3b647d98c78-grafik.png

                              Dabei ist Zeile 3 der Oberschwachsinn. Das Object ist sehr wohl definiert.
                              Und wenn ich über Alexa wieder ausschalte ist auch "false" rot.
                              Mehr passiert einfach nicht.
                              Keine Sprachausgabe, keine Wertänderung an den Thermostaten.

                              paul53 2 Replies Last reply Reply Quote 0
                              • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            754
                                            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