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) Zeichenkette in Zahl umwandeln (Aqara/Deconz/Vibrationssensor/Winkel)

    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) Zeichenkette in Zahl umwandeln (Aqara/Deconz/Vibrationssensor/Winkel)

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

      @paul53

      var Winkel;
      
      
      on({id: 'deconz.0.Sensors.34.orientation', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        Winkel = parseFloat(((obj.state ? obj.state.val : "").split(',')[1]));
        if (Winkel < -20) {
          console.log(Winkel);
          setState("javascript.0.Garage"/*Garage*/, 'Geschlossen', true);
        } else if (Winkel > 0) {
          console.log(Winkel);
          setState("javascript.0.Garage"/*Garage*/, 'Offen', true);
        }
      });
      

      edit: sorry, finger waren schneller als das hirn.

      T paul53 2 Replies Last reply Reply Quote 0
      • T
        tim3trick @muckel last edited by

        @muckel sollte obj.state nicht gesetzt sein, nimmt er den Leerstring, splitted ihn nach Komma und nimmt das zweite Element des Arrays, um das nach Float zu Parsen. Es gibt aber kein zweites Element, entweder ist das schon der Fehler, oder zumindest ein potentieller Bug.

        Alternative: als "Else" nimmst du "0,0,0"

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

          @muckel .split(',') kann nicht auf den Wert des Datenpunktes angewendet werden. Füge mal vor setze Winkel einen debug output Wert ein. Was erscheint dann im Log ?

          M T 2 Replies Last reply Reply Quote 0
          • M
            muckel @paul53 last edited by

            @paul53

            undefined 😞

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

              @muckel sagte:

              undefined

              Du hast an debug output eine Variable Wert übergeben ? Es muss die Eigenschaft Wert des Triggerdatenpunktes sein.

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

                @paul53
                wie recht du hast:

                23:58:27.903 info javascript.0 script.js.Garage_Offen_Zu: 7,-80,7

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

                  @paul53 interessehalber, wieso nicht?

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

                    @muckel sagte:

                    7,-80,7

                    Das sieht eigentlich gut aus, garantiert aber nicht, dass der Datenpunkt tatsächlich einen String enthält. Logge mal den Typ von Wert (unter Konvertierung).

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

                      @paul53
                      00:04:59.382 info javascript.0 script.js.Garage_Offen_Zu: object

                      {
                      "from": "system.adapter.deconz.0",
                      "user": "system.user.admin",
                      "ts": 1556892868113,
                      "common": {
                      "name": "Garagentor orientation",
                      "type": "string",
                      "read": true,
                      "write": false
                      },
                      "native": {},
                      "acl": {
                      "object": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator",
                      "state": 1636
                      },
                      "_id": "deconz.0.Sensors.34.orientation",
                      "type": "state"
                      }

                      paul53 2 Replies Last reply Reply Quote 0
                      • T
                        tim3trick last edited by

                        Oder wir schummeln und casten den Wert implizit mit (""+obj.state.val) der implizite Cast bei console scheint ja zu klappen

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

                          @muckel sagte:

                          object

                          Dann enthält er schon ein Array und muss nicht mehr gesplittet werden. Damit vereinfacht sich die Umwandlung:
                          setze Winkel auf nach Zahl in der Liste Wert nimm das 2. Element.

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

                            @paul53

                            Perfekt! Das wars! ☺
                            Auf das wäre ich im Leben nicht gekommen. Danke schön.
                            Ich stelle es auf gelöst.

                            CU and good night!

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

                              @muckel sagte:

                              "type": "string",

                              Das garantiert nicht, dass der Wert tatsächlich einen String enthält. Wodurch wird der Wert des Datenpunktes geschrieben ?

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

                                @paul53
                                Vom Deconz Adapter (Vibrationssensor von Aqara)

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

                                  @muckel sagte:

                                  Vom Deconz Adapter

                                  Dann erstelle auf Github ein Issue, damit der Adapter-Entwickler es korrigiert.

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

                                    @paul53
                                    Mach ich!
                                    Danke für deine Unterstützung

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

                                      @muckel Wenn das Array bereits Zahlen enthält, kann die Konvertierung nach Zahl entfallen. Teste bitte:
                                      setze Winkel auf in der Liste Wert nimm das 2. Element
                                      debug output Typ von Winkel

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

                                        @paul53

                                        Ja, funktioniert!

                                        dbb77e59-881d-4ea3-988f-922aa0b7dd74-image.png

                                        Das Endergebnis ☺

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

                                          @muckel sagte:

                                          Vom Deconz Adapter

                                          Welche Version ?
                                          Ich habe gesehen, dass in Version 1.1.0 bereits an einer Stelle "orientation" mit common.type: 'array' eingearbeitet wurde.

                                          M 1 Reply Last reply Reply Quote 0
                                          • BBTown
                                            BBTown @muckel last edited by

                                            @muckel und was passiert wenn der Winkel "> 20 aber < 70" ist?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            688
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            5
                                            32
                                            2748
                                            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