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.
    • paul53
      paul53 @GregorS last edited by paul53

      @gregors sagte: Bedeutet, ich kann es vergessen.

      Es gibt dafür eine Ursache (beim Sender?), die behoben werden muss.
      Hier war das JSON noch in Ordnung.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            683
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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