Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]

    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

    Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]

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

      @ChrisXY sagte in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:

      Das ganze muss ich dann in Blockly nutzen können

      es gibt un Blockly unter Text den Baustein nimm Text ab x bis y buchstabe.

      Damit müsstest du schneiden können.
      Nach Zahl konvertieren nicht vergessen.

      1 Reply Last reply Reply Quote 0
      • C
        ChrisXY last edited by

        puhh wie soll das funktionieren ?

        In dem Objekt steht ist der Wert exakt: " [6,-48,-41] " also mit den Klammern.
        1.PNG

        1 Reply Last reply Reply Quote 0
        • X
          Xyolyp last edited by Xyolyp

          Du kannst mit dem Baustein "JSON nach Objekt" unter Konvertierung eine Liste daraus erstellen. Aus dieser kannst du dann das letzte Element nehmen und erhältst direkt eine Zahl (keinen Text).
          e84a5ad3-01d9-4a6e-9ec0-099f80f2801d-image.png

          1 Reply Last reply Reply Quote 0
          • C
            ChrisXY last edited by

            hui klingt Kompliziert hab es aber mal nachgebaut leider scheint noch was nicht zu stimmen. Bekomme im Log beim Blockly

            21:22:53.373	error	javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:4:114)
            

            hier das Blockly

            <xml xmlns="http://www.w3.org/1999/xhtml">
              <block type="on_ext" id="0O%[N?*o;L[-Z*e$cZ|l" x="138" y="-138">
                <mutation items="1"></mutation>
                <field name="CONDITION">ne</field>
                <field name="ACK_CONDITION"></field>
                <value name="OID0">
                  <shadow type="field_oid" id="D!AT5%oNC0)%5Fi*DN5m">
                    <field name="oid">deconz.0.Sensors.11.orientation</field>
                  </shadow>
                </value>
                <statement name="STATEMENT">
                  <block type="controls_if" id="agj5-y|}16ucKgXQ3uo2">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                      <block type="logic_compare" id="=P{+E-ep%]Qj0A?eeaKI">
                        <field name="OP">EQ</field>
                        <value name="A">
                          <block type="math_number" id="av4wXWOb[R2;-Tndi^`-">
                            <field name="NUM">-71</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="lists_getIndex" id="ki,3S|{@];cQtZ-gbVX?">
                            <mutation statement="false" at="false"></mutation>
                            <field name="MODE">GET</field>
                            <field name="WHERE">LAST</field>
                            <value name="VALUE">
                              <block type="convert_json2object" id="yQ@b,SIl3S#5n}JX87}s">
                                <value name="VALUE">
                                  <block type="on_source" id="@jF99~q{-,Z^{PB_{t/~">
                                    <field name="ATTR">state.val</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="telegram" id="AIfc3XzI4/ne#!-Y|xGF">
                        <field name="INSTANCE"></field>
                        <field name="LOG"></field>
                        <field name="SILENT">FALSE</field>
                        <field name="PARSEMODE">default</field>
                        <value name="MESSAGE">
                          <shadow type="text" id="0yZgReeq@hej?P6pG?8m">
                            <field name="TEXT">OFFEN</field>
                          </shadow>
                        </value>
                      </block>
                    </statement>
                    <statement name="ELSE">
                      <block type="telegram" id="$y;bd;9%]YI!fiFbe4cX">
                        <field name="INSTANCE"></field>
                        <field name="LOG"></field>
                        <field name="SILENT">FALSE</field>
                        <field name="PARSEMODE">default</field>
                        <value name="MESSAGE">
                          <shadow type="text" id="cO+0BbD;*4rYLa^uAje1">
                            <field name="TEXT">ZU</field>
                          </shadow>
                        </value>
                      </block>
                    </statement>
                  </block>
                </statement>
              </block>
            </xml>
            

            Nicht wundern wegen 71 ist ein Testgerät

            X 1 Reply Last reply Reply Quote 0
            • X
              Xyolyp @ChrisXY last edited by Xyolyp

              @ChrisXY Kannst du einmal als erstes Element in den Trigger einen Debug Baustein mit dem Wert setzen? Dann sollte im Log der Wert ausgegeben werden, von dem du bitte einen Screenshot erstellst.
              94fe4ea7-c7a7-41ec-b967-4bc9a1d81641-image.png

              1 Reply Last reply Reply Quote 0
              • C
                ChrisXY last edited by

                21:36:46.986	info	javascript.0 script.js.Tests.Dachfenster-offen-check: 0,19,71
                21:36:46.987	error	javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:8:114)
                
                1 Reply Last reply Reply Quote 0
                • X
                  Xyolyp last edited by

                  Dort scheinen keine eckigen Klammern im Datenpunkt zu stehen. Ist das bei dem anderen Gerät anders, wenn du den Log Baustein einfügst?

                  C paul53 2 Replies Last reply Reply Quote 0
                  • C
                    ChrisXY last edited by

                    hab nun noch mehr debug gemacht aber dann scheint das - weg zu sein:

                    21:39:54.897	info	javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71
                    21:39:54.897	error	javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:8:114)
                    21:40:03.279	info	javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71
                    21:40:03.280	error	javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:8:114)
                    
                    X 1 Reply Last reply Reply Quote 0
                    • C
                      ChrisXY @Xyolyp last edited by

                      @Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:

                      Dort scheinen keine eckigen Klammern im Datenpunkt zu stehen. Ist das bei dem anderen Gerät anders, wenn du den Log Baustein einfügst?

                      Stimmt .. hab nochmal geschaut der Wert steht so im Objekt: 1,19,71
                      Lag wohl am SQL .. sorry

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

                        @Xyolyp Wenn es so im Log dargestellt wir, ist es kein JSON, sondern ein Array. JSON nach Objekt muss also entfallen.

                        1 Reply Last reply Reply Quote 0
                        • X
                          Xyolyp @ChrisXY last edited by Xyolyp

                          @ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden 😉
                          8aa970f8-fcba-417d-ad86-5160cc74f5ca-image.png

                          C paul53 3 Replies Last reply Reply Quote 0
                          • paul53
                            paul53 @ChrisXY last edited by

                            @ChrisXY Was liefert das im Log ?

                            Blockly_typeof_val.JPG

                            1 Reply Last reply Reply Quote 1
                            • C
                              ChrisXY @Xyolyp last edited by

                              @Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:

                              @ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden 😉
                              8aa970f8-fcba-417d-ad86-5160cc74f5ca-image.png

                              21:50:32.930 info javascript.0 script.js.Tests.Dachfenster-offen-check: 0,19,71
                              21:50:32.930 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:5:59)
                              2.PNG

                              @paul53 said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:

                              @ChrisXY Was liefert das im Log ?

                              Blockly_typeof_val.JPG

                              Das hier 21:39:54.897 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71

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

                                @ChrisXY sagte:

                                Das hier 21:39:54.897 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71

                                Das ist der Wert, nicht der Typ von Wert !

                                Die Konvertierung nach Zahl kann entfallen.

                                1 Reply Last reply Reply Quote 1
                                • C
                                  ChrisXY @Xyolyp last edited by ChrisXY

                                  @Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:

                                  @ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden 😉
                                  8aa970f8-fcba-417d-ad86-5160cc74f5ca-image.png

                                  Nach der anpassung hab ich folgendes im Log

                                  1. Debug und nach der liste:
                                    21:57:40.368 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,18,72
                                    21:57:40.391 info javascript.0 script.js.Tests.Dachfenster-offen-check: 0,1,89
                                    21:57:43.976 info javascript.0 script.js.Tests.Dachfenster-offen-check: 0,1,89
                                    21:57:45.035 info javascript.0 script.js.Tests.Dachfenster-offen-check: -1,19,71

                                  Bekomme Push ZU geschickt .. aber offen nicht obwohl 71 da steht

                                  EDIT: Hab das -71 in 71 getauscht und schon Klappt es 😄 DANKE

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    ChrisXY last edited by ChrisXY

                                    klappt
                                    klappt.PNG

                                    Edit: Kann ich statt der 71 auch ein Bereich Definieren quasi 65-75 ??
                                    Und aktuell bekomme ich 4-5 Telegram Nachrichten bei Bewegung. Timeout um das falls mit 3 sekunden hat auch nichts gebracht. Wie Bremse ich das etwas ?

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

                                      @ChrisXY sagte:

                                      Bereich Definieren quasi 65-75 ??

                                      <= 75 und >= 65

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

                                        @Xyolyp sagte:

                                        noch keine Liste in meinen Logs gesehen

                                        Wenn Du den aktuellen Javascript-Adapter von Github installierst, werden Objekte / Arrays erkennbar im Log dargestellt.

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

                                          @ChrisXY sagte:

                                          Timeout um das falls mit 3 sekunden hat auch nichts gebracht. Wie Bremse ich das etwas ?

                                          Vor dem Timeout ein stop timeout.

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            ChrisXY last edited by

                                            oh okay da hätte ich auch noch drauf kommen können. Aber vielen Dank für die ganze Hilfe. Es Klappt bisher sehr gut. Tiggere es jetzt nur bei bestimmten sachen 😉 Da reicht ja dann ein Zustand.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            374
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            4
                                            24
                                            1254
                                            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