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] Payload Daten in Objekte schreiben

    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] Payload Daten in Objekte schreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • Marc Berg
      Marc Berg Most Active @GregorS last edited by Marc Berg

      @gregors sagte in Payload Daten in Objekte schreiben:

      %(#ff0000)[%(#ff0000)

      sowas hier:

      %(#ff0000)[%(#ff0000)
      

      darf nicht im Payload enthalten sein und es ist mir ein Rätsel, wie das da rein kommt. Schau dir nochmal deinen Payload Formatter im TTN an. Da muss ein Fehler drin sein.

      Am besten den von hier nehmen:

      https://github.com/dragino/dragino-end-node-decoder/tree/main/LT22222-L

      Ggf. auch eine ältere Version.

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

        @marc-berg das ist wohl fett kursiv in rot

        Marc Berg 1 Reply Last reply Reply Quote 0
        • Marc Berg
          Marc Berg Most Active @Homoran last edited by

          @homoran sagte in Payload Daten in Objekte schreiben:

          das ist wohl fett kursiv in rot

          Okay.... Das hat aber im TTN Payload mal so gar nichts verloren! 🙂

          GregorS 1 Reply Last reply Reply Quote 1
          • GregorS
            GregorS @Marc Berg last edited by GregorS

            Habe jetzt mal den Payload-Formater aus dem Github bearbeitet.

            {"end_device_ids":{"device_id":"eui-a840414601871305","application_ids":{"application_id":"gs-mg-dragino-01"},"dev_eui":"A840414601871305","join_eui":"A840410000000101","dev_addr":"260BE9CF"},"correlation_ids":["as:up:01H5Z2SA3QYET8CA17EXT5JBTW","gs:conn:01H5CGRTDQJ3EW5BPQ15D9SVP8","gs:up:host:01H5CGRTDY5KEGKQ0AQZ22XD9M","gs:uplink:01H5Z2S9XAF07SYS81675AYS9E","ns:uplink:01H5Z2S9XA7M8VZFX5JQQYWM6H","rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01H5Z2S9XAH04P0Z8XWMYHP6RC","rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01H5Z2SA3P57YV40D8MQMJFC70"],"received_at":"2023-07-22T15:16:43.254682567Z","uplink_message":{"session_key_id":"AYlu5XV3aMaeiMVAq8yISw==","f_port":2,"f_cnt":4272,"frm_payload":"NhUAAAAAAAA0/0E=","decoded_payload":{"ACI1_mA":"0.000", "ACI2_mA":"0.000", "AVI1_V":"13.845", "AVI2_V":"0.000", "Acount_times":null, "Count1_times":null, "Count2_times":null, "DI1_status":"L", "DI2_status":"H", "DI3_status":null, "DO1_status":"H", "DO2_status":"H", "DO3_status":null, "First_status":null, "Hardware_mode":"LT22222", "RO1_status":"OFF", "RO2_status":"OFF", "Work_mode":"2ACI+2AVI"},"rx_metadata":[{"gateway_ids":{"gateway_id":"eui-503139534e7d4750","eui":"503139534E7D4750"},"time":"2023-07-22T15:16:35.538289Z","timestamp":1683586436,"rssi":-104,"channel_rssi":-104,"snr":-15.5,"uplink_token":"CiIKIAoUZXVpLTUwMzEzOTUzNGU3ZDQ3NTASCFAxOVNOfUdQEIT75aIGGgsI2+XvpQYQyq/mFyCgl8ns//2NAQ==","channel_index":4,"received_at":"2023-07-22T15:16:43.049911754Z"}],"settings":{"data_rate":{"lora":{"bandwidth":125000, "spreading_factor":12, "coding_rate":"4/5"}}, "frequency":"867300000", "timestamp":1683586436, "time":"2023-07-22T15:16:35.538289Z"},"received_at":"2023-07-22T15:16:43.050935418Z","consumed_airtime":"1.482752s","version_ids":{"brand_id":"dragino", "model_id":"lt22222-l", "hardware_version":"_unknown_hw_version_", "firmware_version":"1.5.6", "band_id":"EU_863_870"},"network_ids":{"net_id":"000013","tenant_id":"ttn","cluster_id":"eu1","cluster_address":"eu1.cloud.thethings.network"}}}
            

            Konnte jetzt keine Asterix erkennen.
            Aber schreiben will er immer noch nicht

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

              @gregors sagte: schreiben will er immer noch nicht

              Dann bau mal Log-Ausgaben ein.

              on('mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up', function (dp) {
                  log(dp.state.val);
                  let payload = JSON.parse(dp.state.val).uplink_message.decoded_paylod;
                  log(payload);
              
              GregorS 1 Reply Last reply Reply Quote 1
              • GregorS
                GregorS @paul53 last edited by

                @paul53

                Habe ich gemacht.
                Wo finde ich das Log?

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

                  @gregors sagte: Wo finde ich das Log?

                  Im Fenster unterhalb des Skript-Editors und im Tab "Protokolle".
                  Das Skript ist aktiviert und hoffentlich nicht unter der Gruppe "global" erstellt?

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

                    @paul53
                    Das Script läuft und ist nicht unter "Global".
                    Im Log steht nichts drin. Komplett leer.

                    Mir scheint, als ob es nicht getriggert wird

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

                      @gregors sagte: Mir scheint, als ob es nicht getriggert wird

                      Die Datenpunkt-ID des Triggers stimmt? Der Wert (JSON) des Datenpunktes ändert sich?

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

                        @gregors sagte in Payload Daten in Objekte schreiben:

                        Mir scheint, als ob es nicht getriggert wird

                        der Datenpunkt heisst auch genau so:
                        mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up
                        ?

                        GregorS 1 Reply Last reply Reply Quote 0
                        • GregorS
                          GregorS @Homoran last edited by

                          @homoran
                          Bin auf Objekt-ID gegangen, und er hat mir zur Auswahl das Objekt angeboten.
                          Der Datenpunkt wird alle 2 Minuten neu eingelsen (Zeitstempel). Der Wert von AVI1_V ändert sich immer maginal.

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

                            @gregors sagte: Der Wert von AVI1_V ändert sich immer maginal.

                            Das genügt zum Triggern.
                            Was ergibt außerhalb des Triggers?

                            log(getState('mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up').val);
                            
                            GregorS 1 Reply Last reply Reply Quote 0
                            • GregorS
                              GregorS @paul53 last edited by

                              @paul53

                              Nichts.
                              Gähnende Leere im Log

                              //'mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up'/*v3/gs-mg-dragino-01@ttn/devices/eui-a840414601871305/up*/
                              
                              on('mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up', function (dp) {
                                  log(dp.state.val);
                                  let payload = JSON.parse(dp.state.val).uplink_message.decoded_paylod;
                                  log(payload);
                                  log(getState('mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up').val);
                              
                                  if(payload && payload.AVI1_V != undefined) {
                              
                              
                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @GregorS last edited by

                                @gregors sagte: Gähnende Leere im Log

                                Das Log mit getState() außerhalb des Triggers ausführen!!

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

                                  @paul53
                                  Kann ich das getState() unterhalb des Scripts einfügen, oder muss ich ein Neues Script erstellen?

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

                                    @gregors sagte: Kann ich das getState() unterhalb des Scripts einfügen

                                    Ja, unterhalb oder oberhalb des Triggers.

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

                                      @paul53

                                      //'mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up'/*v3/gs-mg-dragino-01@ttn/devices/eui-a840414601871305/up*/
                                      
                                      on('mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up', function (dp) {
                                          log(dp.state.val);
                                          let payload = JSON.parse(dp.state.val).uplink_message.decoded_paylod;
                                          log(payload);
                                          
                                          if(payload && payload.AVI1_V != undefined) {
                                      
                                              setState("0_userdata.0.LoRaWAN.eui-a840414601871305.ACI1_mA", Math.round(payload.ACI1_mA * 100) / 100, true);
                                      
                                              setState("0_userdata.0.LoRaWAN.eui-a840414601871305.ACI2_mA", Math.round(payload.ACI2_mA * 100) / 100, true);
                                      
                                              setState("0_userdata.0.LoRaWAN.eui-a840414601871305.AVI1_V", Math.round(payload.AVI1_V * 100) / 100, true);
                                      
                                              setState("0_userdata.0.LoRaWAN.eui-a840414601871305.AVI2_V", Math.round(payload.AVI2_V * 100) / 100, true);
                                      
                                          }
                                      
                                      });
                                      log(getState('mqtt.2.v3.gs-mg-dragino-01@ttn.devices.eui-a840414601871305.up').val);
                                      
                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @GregorS last edited by paul53

                                        @gregors
                                        Gut, und das JSON ist in der Log-Ausgabe zu sehen? Sie muss beim Skriptstart erzeugt werden.

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

                                          @paul53

                                          Nein, gar nichts

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

                                            @gregors sagte: Nein, gar nichts

                                            Nicht einmal, dass das Skript gestartet wurde?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            475
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            78
                                            3038
                                            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