Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Beispielskript gesucht

    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

    Beispielskript gesucht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      Hier
      144_blockly_export.png
      den code für die Blöcke exportieren.

      Diesen Code dann in Code-Tags und Spoiler posten

      Gruß

      Rainer

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

        Ich hoffe, das ist richtig so.

        Gruß,

        Mathias

         <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="D2-i%o~h}[C(XOb!uy@W" x="-2062" y="-1687"><mutation items="1"></mutation>
            <field name="CONDITION">any</field>
        
            <value name="OID0"><shadow type="field_oid" id="xO2djiTabS@KS{GP@E#."><field name="oid">javascript.0.Bluetooth.Device.7c2f8099bb0f.details.address</field></shadow></value> 
            <statement name="STATEMENT"><block type="controls_if" id=".2TLXB%Ihqc-Nz6h2pM5"><mutation elseif="1"></mutation>
                <value name="IF0"><block type="logic_compare" id="`GUi=#sx:|j*-ENfTOls"><field name="OP">EQ</field>
                    <value name="A"><block type="logic_operation" id="WX]:)kErZEWR~P/+8_qo"><field name="OP">OR</field>
                        <value name="A"><block type="get_value" id="6upmqp@Z;aum/E9cRx36"><field name="ATTR">val</field>
                            <field name="OID">javascript.0.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> 
                        <value name="B"><block type="get_value" id="`P**u99%9*P;3G;;XF!5"><field name="ATTR">val</field>
                            <field name="OID">javascript.1.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value></block></value> 
                    <value name="B"><block type="logic_boolean" id="VUj{DZ@GZGGJ-Vi`^/r_"><field name="BOOL">TRUE</field></block></value></block></value> 
                <statement name="DO0"><block type="control_ex" id="NC)x*;ROvB[{fM(},rQV"><field name="TYPE">false</field>
                    <field name="CLEAR_RUNNING">FALSE</field>
                    <value name="OID"><shadow type="field_oid" id="Od_!11i~z}wdSJqf3QuK"><field name="oid">hm-rega.0.1687</field></shadow></value> 
                    <value name="VALUE"><shadow type="logic_boolean" id="NY[gH1t@k9RVRf#st-;j"><field name="BOOL">TRUE</field></shadow></value> 
                    <value name="DELAY_MS"><shadow type="math_number" id="}=Ic%oJ1lB/MV9ST?tgJ"><field name="NUM">0</field></shadow></value></block></statement> 
                <value name="IF1"><block type="logic_compare" id="E)]tXcx:snc?gx1O~`O="><field name="OP">EQ</field>
                    <value name="A"><block type="logic_operation" id=":w^:`0%(L..(6eM%qfjJ"><field name="OP">AND</field>
                        <value name="A"><block type="get_value" id="s7ktjeP/1!B[-z^(|U(j"><field name="ATTR">val</field>
                            <field name="OID">javascript.0.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> 
                        <value name="B"><block type="get_value" id="wjs78#p7)a}hV@B(MhYV"><field name="ATTR">val</field>
                            <field name="OID">javascript.1.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value></block></value> 
                    <value name="B"><block type="logic_boolean" id="4xE6d:_W{W{.5qiI-wY~"><field name="BOOL">FALSE</field></block></value></block></value> 
                <statement name="DO1"><block type="control_ex" id="[F|F@%iemyK(/_0xYDsB"><field name="TYPE">false</field>
                    <field name="CLEAR_RUNNING">FALSE</field>
                    <value name="OID"><shadow type="field_oid" id="|8Vux0v5{#ijYLLk]HDE"><field name="oid">hm-rega.0.1687</field></shadow></value> 
                    <value name="VALUE"><shadow type="logic_boolean" id="WUiWr]QvMwFa=]]2cHVN"><field name="BOOL">FALSE</field></shadow></value> 
                    <value name="DELAY_MS"><shadow type="math_number" id="^b]9Dx,]|?dIJ[l0eEU`"><field name="NUM">180000</field></shadow></value></block></statement></block></statement></block></xml> 
        
        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators last edited by

          ich habe die Logik nicht verifizieren können, da ich die Datenpunkte, die du verwendest nicht kenne.

          Hier die Korrektur der offensichlichen Fehler:
          144_blockly_02.png

          Export:

          ! ````
          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="D2-i%o~h}[C(XOb!uy@W" x="-2062" y="-1687"><mutation items="1"></mutation>
          <field name="CONDITION">any</field>

          <value name="OID0"><shadow type="field_oid" id="xO2djiTabS@KS{GP@E#."><field name="oid">javascript.0.Bluetooth.Device.7c2f8099bb0f.details.address</field></shadow></value> 
          <statement name="STATEMENT"><block type="controls_if" id=".2TLXB%Ihqc-Nz6h2pM5"><mutation elseif="1"></mutation>
              <value name="IF0"><block type="logic_operation" id="WX]:)kErZEWR~P/+8_qo" inline="false"><field name="OP">OR</field>
                  <value name="A"><block type="logic_compare" id="`GUi=#sx:|j*-ENfTOls"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="6upmqp@Z;aum/E9cRx36"><field name="ATTR">val</field>
                          <field name="OID">javascript.0.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="VUj{DZ@GZGGJ-Vi`^/r_"><field name="BOOL">TRUE</field></block></value></block></value> 
                  <value name="B"><block type="logic_compare" id="_x?KoYGn@yfWe~T~rk(Y"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="`P**u99%9*P;3G;;XF!5"><field name="ATTR">val</field>
                          <field name="OID">javascript.1.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="oD2_4ON;VUZV4%5fM]s!"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
              <statement name="DO0"><block type="control_ex" id="NC)x*;ROvB[{fM(},rQV"><field name="TYPE">false</field>
                  <field name="CLEAR_RUNNING">FALSE</field>
                  <value name="OID"><shadow type="field_oid" id="Od_!11i~z}wdSJqf3QuK"><field name="oid">hm-rega.0.1687</field></shadow></value> 
                  <value name="VALUE"><shadow type="logic_boolean" id="NY[gH1t@k9RVRf#st-;j"><field name="BOOL">TRUE</field></shadow></value> 
                  <value name="DELAY_MS"><shadow type="math_number" id="}=Ic%oJ1lB/MV9ST?tgJ"><field name="NUM">0</field></shadow></value></block></statement> 
              <value name="IF1"><block type="logic_operation" id=":w^:`0%(L..(6eM%qfjJ" inline="false"><field name="OP">AND</field>
                  <value name="A"><block type="logic_compare" id="E)]tXcx:snc?gx1O~`O="><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="s7ktjeP/1!B[-z^(|U(j"><field name="ATTR">val</field>
                          <field name="OID">javascript.0.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="4xE6d:_W{W{.5qiI-wY~"><field name="BOOL">FALSE</field></block></value></block></value> 
                  <value name="B"><block type="logic_compare" id="n1kiqJJa]GaUR|9.w^?s"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="wjs78#p7)a}hV@B(MhYV"><field name="ATTR">val</field>
                          <field name="OID">javascript.1.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="7?OvELFFOp*|eO}y[Gy."><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
              <statement name="DO1"><block type="control_ex" id="[F|F@%iemyK(/_0xYDsB"><field name="TYPE">false</field>
                  <field name="CLEAR_RUNNING">FALSE</field>
                  <value name="OID"><shadow type="field_oid" id="|8Vux0v5{#ijYLLk]HDE"><field name="oid">hm-rega.0.1687</field></shadow></value> 
                  <value name="VALUE"><shadow type="logic_boolean" id="WUiWr]QvMwFa=]]2cHVN"><field name="BOOL">FALSE</field></shadow></value> 
                  <value name="DELAY_MS"><shadow type="math_number" id="^b]9Dx,]|?dIJ[l0eEU`"><field name="NUM">180000</field></shadow></value></block></statement></block></statement></block></xml> 
          
          
          um das verifizieren zu können bitte noch die letzten Fragen beantworten:
          ~~@Homoran:~~ 
          
          > Womit erfasst du deinen G-Tag?
          > 
          > Wie sieht der Datenpunkt dazu aus?
          > 
          > - aktualisiert sich dieser korrekt?
          > 
          > - hast du das ggf. mal geloggt falsch sich der Zustand (zu) schnell ändert? `  
          
          Gruß
          
          Rainer
          1 Reply Last reply Reply Quote 0
          • MathiasJ
            MathiasJ last edited by

            nein, die Datenpunkte ändern sich nicht.

            Das ist ja das, warum ich auf dem Schlauch stehe.

            Wenn ich den Skript aktualisiere, dann sehe ich mich für eine Sekunde wieder als anwesend.

            Gruß,

            Mathias

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

              ach ja,

              als Datenlogger habe ich das hier genommen:

              viewtopic.php?f=21&t=2513&p=28266#p28266

              Gruß,

              Mathias

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                @MathiasJ:

                nein, die Datenpunkte ändern sich nicht. `
                Dann kann das Skript auch nicht zaubern.

                Ich weiß zwar immer noch nicht wo die Infos für die G-Tag Datenpunkte (javascrript.0.BLuetooth.Device.7cxxxxx.detail….) herkommen, aber hast du es mal mit dem Radar Adapter versucht?

                da BT nicht immer stabil sein muss kann man da einstellen wann man als abwesend gelten will. Dazu müssen dan x aufeinanderfolgende Scans negativ sein. Einzelne Aussetzer haben dann keine Folgen.

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators last edited by

                  @MathiasJ:

                  als Datenlogger habe ich das hier genommen:

                  viewtopic.php?f=21&t=2513&p=28266#p28266 `
                  Das ist nicht der Logger, das ist der Scanner.

                  Ich fragte ob du den Zustand des ominösen Datenpunktes mal mit history o.a. geloggt hast um zu sehen ob und wie oft sich dieser Datenpunkt ändert.

                  Gruß

                  Rainer

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

                    Nein das habe ich noch nicht.

                    Per Radar wird nichts erkannt.

                    Per BLE wird leider keine Anwesenheit getriggert.

                    Gruß,

                    Mathias

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      ich glaube ich weiß jetzt wo es bei dir gedanklich hakt :idea:

                      und jetzt mit Tastatur geht es auch besser als heute nachmittag am Handy.

                      Die Skripte arbeiten ereignisgesteuert.

                      Es gibt zwei arten von Triggern, einmal ein "echtes" Ereignis - wenn sich etwas ändert und einmal zeitgesteuert.

                      Da ändert sich dann die Zeit 😉

                      Das BLE Script von ruhr 70 arbeitet zeitgesteuert und scannt alle x Minuten nach Devices in der Umgebung. Sobald ein bekanntes Device in der Umgebung erkannt wird wird dieses auf "here" gesetzt. Wenn der Scan x-mal hintereinender das Device nicht mehr findet wird dieses Device auf "not here" gesetzt.

                      Dein Skript reagiert jetzt auf diese Änderung!!!

                      sollte sich der G-Tag nicht ausserhalb der Reichweite des Scanners befunden haben wird dein Skript niemals eine Pushnachricht senden. Das passiert erst, wenn du das Haus betreten hats. oder nach Anwesenheit das Haus verlassen hast.

                      Gruß

                      Rainer

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

                        so soll es auch sein!

                        Ich will nur eine pushnachricht, wenn das haus betreten oder verlassen wird.

                        Aber:

                        Mit dem Blocky-Skript habe ich das Problem, dass ich nach bereits einer Sekunde wieder als abwesend gelistet bin, obwohl ich da bin.

                        das ist mein problem….....

                        Gruß,

                        Mathias

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          Passiert das immer wieder von selbst, oder nur wenn du das Skript startest?

                          Deswegen wäre ja das loggen dieses Datenpunktes interessant.

                          Dann wüsste man was passiert

                          Gruß

                          Rainer

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

                            Ich bin nur online, wenn ich den Skript starte bzw aktualisiere.

                            Ich habe nun wieder Radar installiert, aber ich sehe hier gar keine Objekte.

                            Nun deinstalliere ich radar wieder.

                            Gruß,

                            Mathias

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              @MathiasJ:

                              Ich habe nun wieder Radar installiert, aber ich sehe hier gar keine Objekte. `
                              jetzt wird das loggen des Wertes noch interessanter was ruhr70s Skript mit dem Datenpunkt anstellt.

                              (kann aber sein, dass zwei Skripte/Adapter nicht beide auf den BT zugreifen können)

                              Da ich bereits ganz zu Beginn geschrieben hab, dass ich nicht weiß, ob dein "schreibe" Block ok ist, probiere bitte mal das hier:

                              ! ````
                              <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="D2-i%o~h}[C(XOb!uy@W" x="-2087" y="-1612"><mutation items="1"></mutation>
                              <field name="CONDITION">any</field>

                              <value name="OID0"><shadow type="field_oid" id="xO2djiTabS@KS{GP@E#."><field name="oid">javascript.0.Bluetooth.Device.7c2f8099bb0f.details.address</field></shadow></value>
                              <statement name="STATEMENT"><block type="controls_if" id=".2TLXB%Ihqc-Nz6h2pM5"><mutation elseif="1"></mutation>
                              <value name="IF0"><block type="logic_operation" id="WX]:)kErZEWR~P/+8_qo" inline="false"><field name="OP">OR</field>
                              <value name="A"><block type="logic_compare" id="GUi=#sx:|j*-ENfTOls"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="6upmqp@Z;aum/E9cRx36"><field name="ATTR">val</field> <field name="OID">javascript.0.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> <value name="B"><block type="logic_boolean" id="VUj{DZ@GZGGJ-Vi^/r_"><field name="BOOL">TRUE</field></block></value></block></value>
                              <value name="B"><block type="logic_compare" id="_x?KoYGn@yfWe~T~rk(Y"><field name="OP">EQ</field>
                              <value name="A"><block type="get_value" id="P**u99%9*P;3G;;XF!5"><field name="ATTR">val</field> <field name="OID">javascript.1.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value> <value name="B"><block type="logic_boolean" id="oD2_4ON;VUZV4%5fM]s!"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="T[mGg14Xs,]PF6H_sS%d"><mutation delay_input="true"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">180000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="n;ZR(XW?9yk{fFyCYF?"><field name="BOOL">TRUE</field></block></value></block></statement>
                              <value name="IF1"><block type="logic_operation" id=":w^:0%(L..(6eM%qfjJ" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="E)]tXcx:snc?gx1O~O="><field name="OP">EQ</field>
                              <value name="A"><block type="get_value" id="s7ktjeP/1!B[-z^(|U(j"><field name="ATTR">val</field>
                              <field name="OID">javascript.0.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value>
                              <value name="B"><block type="logic_boolean" id="4xE6d:_W{W{.5qiI-wY~"><field name="BOOL">FALSE</field></block></value></block></value>
                              <value name="B"><block type="logic_compare" id="n1kiqJJa]GaUR|9.w^?s"><field name="OP">EQ</field>
                              <value name="A"><block type="get_value" id="wjs78#p7)a}hV@B(MhYV"><field name="ATTR">val</field>
                              <field name="OID">javascript.1.Bluetooth.Device.7c2f8099bb0f.lastState</field></block></value>
                              <value name="B"><block type="logic_boolean" id="7?OvELFFOp*|eO}y[Gy."><field name="BOOL">FALSE</field></block></value></block></value></block></value>
                              <statement name="DO1"><block type="control" id="O:/Db:znWh[1d3TDN3Z%"><mutation delay_input="true"></mutation>
                              <field name="OID">Object ID</field>
                              <field name="WITH_DELAY">TRUE</field>
                              <field name="DELAY_MS">180000</field>
                              <field name="UNIT">ms</field>
                              <field name="CLEAR_RUNNING">FALSE</field>
                              <value name="VALUE"><block type="logic_boolean" id=";G6D5jjoe2G~ygIn/}-r"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block>

                              Bitte an zwei Stellen noch deinen rega-Datenpunkt eintragen
                              
                              Gruß
                              
                              Raiiner
                              1 Reply Last reply Reply Quote 0
                              • MathiasJ
                                MathiasJ last edited by

                                wird das ein neues Script?

                                Werden da datenpunkte getriggert?

                                ich möchte nur wissen, wo ich das eingeben muß.

                                Gruß,

                                Mathias

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  Hast du meine letzte Änderungen von 21:45 noch nicht getestet?

                                  Die solltest du doch auch importieren.

                                  Das funktioniert jetzt genau so.

                                  Edit: ich sehe gerade ich habe in beiden Fällen 3 Minuten Verzögerung drin, bitte auch anpassen.

                                  Was soll die eigentlich?

                                  Gruß

                                  Rainer

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

                                    die verzögerung soll bewirken, dass z.B. die heizung im Winter nicht gleich aus- und an geht, wenn man mal nicht im Scanbereich ist.

                                    So hat die Heizsteuerung 3 Minuten Luft, wenn ein paar Scans daneben gehen.

                                    Gruß,

                                    Mathias

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators last edited by

                                      Das passiert aber nicht.

                                      Die Änderung wird nur 3 Minuten verzögert, egal ob du nach zwei Minuten wieder da bist.

                                      Und welche versionen hast du jetzt schon getestet?

                                      Gruß Rainer

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

                                        ich habe beide Codes mal als Test-Skripte angelegt.

                                        Nun habe ich das gleiche Problem wieder.

                                        Eine Frage:

                                        Wenn ich alle Skripte deaktiviere, besteht dann die Möglichkeit, dass ich in Radar doch noch was sehe?

                                        Dann würde ich es wieder installieren.

                                        Ich habe nicht nur schreibe versucht. ich habe aber immer das Problem, dass ich nach der Aktualisierung des Skriptes für eine Sekunde da bin. Danach bin ich wieder weg…......

                                        Gruß,

                                        Mathias

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

                                          Nun habe ich radar nochmals installiert.

                                          Im Log sehe ich, dass alle items auf true gesetzt sind. In den Objekten habe ich jedoch nichts.

                                          ich denke, ich werde mal Ruhr fragen, wie er Sysvar der HM auf An- bzw abwesend setzen will.

                                          Vllt geht das ja gar nicht bzw seine Skripte sind nur für IObroker gedacht.

                                          Gruß,

                                          Mathias

                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            @MathiasJ:

                                            Vllt geht das ja gar nicht bzw seine Skripte sind nur für IObroker gedacht. `
                                            Natürlich, wofür den sonst.

                                            Mit deinem Blockly verknüpfst du das dann mit hm.

                                            Aber so lange du mir nicht sagst wie sich die Datenpunkte fes BLE Scripts verändern kann ich dir nicht mehr helfen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            835
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            81
                                            5137
                                            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