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

      @gregors
      Keine Log-Einträge aus der Javascript-Instanz? Dann gibt es damit ein Problem. Andere Skripte funktionieren?

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

        @gregors Multihost? und richtigen Host ausgewählt?
        sonst starte die javascript Instanz mal neu

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

          @paul53

          Alle anderen Scripte laufen einwandfrei.
          NSPanel funktioniert auch problemlos.
          Meldungen via Telegram auch

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

            @homoran said in Payload Daten in Objekte schreiben:

            Multihost? und richtigen Host ausgewählt?
            sonst starte die javascript Instanz mal neu

            Multihost? und richtigen Host ausgewählt? Wo muss man dies einstellen.
            Habe ich noch nicht gesehen.

            javascript habe ich eben neu gestartet.

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

              @gregors sagte: Alle anderen Scripte laufen einwandfrei.

              Auf welche Protokoll-Stufe ist die Javascript-Instanz eingestellt?

              JS0_Loglevel.JPG

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

                @paul53
                Logstufe "Error"

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

                  Hab auf Debug umgestellt.
                  Jetzt kommt was.

                  javascript.0
                  	2023-07-22 18:34:43.750	info	script.js.LoRAWAN_DEV_1: undefined
                  javascript.0
                  	2023-07-22 18:34:43.749	info	script.js.LoRAWAN_DEV_1: {"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:01H5Z784WHCPR9CKQMD6YA61PJ","gs:conn:01H5TF5M58SGAQZTB5B766P6EM","gs:up:host:01H5TF5M5DGPVSKX7RKJ1HPXFF","gs:uplink:01H5Z784NZ778FHQVN8ATABV4B","ns:uplink:01H5Z784P0FCGCHDWHMB7EZSAR","rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01H5Z784P0MKF1ZWAFJ9K7394H","rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01H5Z784WGE4FZ7ETJHPJJQ9DV"],"received_at":"2023-07-22T16:34:43.728419808Z","uplink_message":{"session_key_id":"AYlu5XV3aMaeiMVAq8yISw==","f_port":2,"f_cnt":4350,"frm_payload":"NgUAAAAAAAA0/0E=","decoded_payload":{"ACI1_mA":"0.000", "ACI2_mA":"0.000", "AVI1_V":"13.829", "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-7076ff0056080b0f","eui":"7076FF0056080B0F"},"time":"2023-07-22T16:34:42.898Z","timestamp":3874550100,"rssi":-113,"channel_rssi":-113,"snr":-9.5,"uplink_token":"CiIKIAoUZXVpLTcwNzZmZjAwNTYwODBiMGYSCHB2/wBWCAsPENTiw7cOGgwIo4rwpQYQluzr9wEgoOC66eH+JSoMCKKK8KUGEIDJmawD","channel_index":1,"gps_time":"2023-07-22T16:34:42.898Z","received_at":"2023-07-22T16:34:42.235671618Z"}],"settings":{"data_rate":{"lora":{"bandwidth":125000, "spreading_factor":12, "coding_rate":"4/5"}}, "frequency":"867300000", "timestamp":3874550100, "time":"2023-07-22T16:34:42.898Z"},"received_at":"2023-07-22T16:34:43.520848844Z","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"}}}
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @GregorS last edited by paul53

                    @gregors sagte: Hab auf Debug umgestellt.

                    Stell auf "info".

                    @gregors sagte in Payload Daten in Objekte schreiben:

                    Jetzt kommt was.

                    Auch alle 2 Minuten aus dem Trigger?

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

                      @paul53

                      18:43:37.493	info	javascript.0 (652027) Start javascript script.js.LoRAWAN_DEV_1
                      18:43:37.496	info	javascript.0 (652027) script.js.LoRAWAN_DEV_1: {"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:01H5Z7MYH48PRXF13SW1RS6HD4","gs:conn:01H5TF5M58SGAQZTB5B766P6EM","gs:up:host:01H5TF5M5DGPVSKX7RKJ1HPXFF","gs:uplink:01H5Z7MYARW1Q74HXA0T7D5T4S","ns:uplink:01H5Z7MYAR2XJWHT5VS9XVHEZZ","rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01H5Z7MYARMWPFGXW00K1X3WSV","rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01H5Z7MYH4FKD5VX7EZXWGJKHZ"],"received_at":"2023-07-22T16:41:43.204341812Z","uplink_message":{"session_key_id":"AYlu5XV3aMaeiMVAq8yISw==","f_port":2,"f_cnt":4357,"frm_payload":"NgMAAAAAAAA0/0E=","decoded_payload":{"ACI1_mA":"0.000", "ACI2_mA":"0.000", "AVI1_V":"13.827", "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-7076ff0056080b0f","eui":"7076FF0056080B0F"},"time":"2023-07-22T16:41:42.891Z","timestamp":4294543004,"rssi":-118,"channel_rssi":-118,"snr":-12.2,"uplink_token":"CiIKIAoUZXVpLTcwNzZmZjAwNTYwODBiMGYSCHB2/wBWCAsPEJyN5v8PGgwIxo3wpQYQiODg3AMg4KLXtf6KJioMCMaN8KUGEMCp7qgD","channel_index":3,"gps_time":"2023-07-22T16:41:42.891Z","received_at":"2023-07-22T16:41:42.692566999Z"}],"settings":{"data_rate":{"lora":{"bandwidth":125000, "spreading_factor":12, "coding_rate":"4/5"}}, "frequency":"867700000", "timestamp":4294543004, "time":"2023-07-22T16:41:42.891Z"},"received_at":"2023-07-22T16:41:43.000778353Z","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"}}}
                      18:43:37.496	info	javascript.0 (652027) script.js.LoRAWAN_DEV_1: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      18:43:43.227	info	javascript.0 (652027) script.js.LoRAWAN_DEV_1: {"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:01H5Z7RKQ7EM4GPTNH3A4ZZQRM","gs:conn:01H5TF5M58SGAQZTB5B766P6EM","gs:up:host:01H5TF5M5DGPVSKX7RKJ1HPXFF","gs:uplink:01H5Z7RKGRA8VCCA5GDJDAJ32G","ns:uplink:01H5Z7RKGSHDHETYPCFKHZ4WB8","rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01H5Z7RKGSTVXAW22XNQWVCPYS","rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01H5Z7RKQ7Q4ASFM7XB599YRYK"],"received_at":"2023-07-22T16:43:43.207301529Z","uplink_message":{"session_key_id":"AYlu5XV3aMaeiMVAq8yISw==","f_port":2,"f_cnt":4359,"frm_payload":"NicAAAAAAAA0/0E=","decoded_payload":{"ACI1_mA":"0.000", "ACI2_mA":"0.000", "AVI1_V":"13.863", "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-7076ff0056080b0f","eui":"7076FF0056080B0F"},"time":"2023-07-22T16:43:42.882Z","timestamp":119566764,"rssi":-117,"channel_rssi":-117,"snr":-14.5,"uplink_token":"CiIKIAoUZXVpLTcwNzZmZjAwNTYwODBiMGYSCHB2/wBWCAsPEKzjgTkaCgi/jvClBhCVjhYg4I/wtb2OJioMCL6O8KUGEICByaQD","channel_index":7,"gps_time":"2023-07-22T16:43:42.882Z","received_at":"2023-07-22T16:43:42.693099748Z"}],"settings":{"data_rate":{"lora":{"bandwidth":125000, "spreading_factor":12, "coding_rate":"4/5"}}, "frequency":"868500000", "timestamp":119566764, "time":"2023-07-22T16:43:42.882Z"},"received_at":"2023-07-22T16:43:43.001729646Z","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"}}}
                      18:43:43.228	info	javascript.0 (652027) script.js.LoRAWAN_DEV_1: undefined
                      
                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @GregorS last edited by paul53

                        @gregors

                        log(payload);
                        

                        zeigt offenbar undefined, da "decoded_payload" falsch geschrieben ist (Zeile 5).

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

                          @gregors sagte in Payload Daten in Objekte schreiben:

                          Logstufe "Error"

                          nee, nich?

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

                            @paul53

                            Habe ich korrigiert. Der Teufel steckt im Detail

                            19:01:43.238	info	javascript.0 (652027) script.js.LoRAWAN_DEV_1: {"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:01H5Z8SJDEQ23SXYZE51TC07BD","gs:conn:01H5TF5M58SGAQZTB5B766P6EM","gs:up:host:01H5TF5M5DGPVSKX7RKJ1HPXFF","gs:uplink:01H5Z8SJ70D6PACPHB0R2GHN04","ns:uplink:01H5Z8SJ712X5TEW0CWDE4CXQM","rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01H5Z8SJ715Z75WJ51BS6ZWF31","rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01H5Z8SJDDM0YCG82TXN5P6Q2T"],"received_at":"2023-07-22T17:01:43.213639158Z","uplink_message":{"session_key_id":"AYlu5XV3aMaeiMVAq8yISw==","f_port":2,"f_cnt":4377,"frm_payload":"NiwAAAAAAAA0/0E=","decoded_payload":{"ACI1_mA":"0.000", "ACI2_mA":"0.000", "AVI1_V":"13.868", "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-7076ff0056080b0f","eui":"7076FF0056080B0F"},"time":"2023-07-22T17:01:42.871Z","timestamp":1199555188,"rssi":-118,"channel_rssi":-118,"snr":-13.8,"uplink_token":"CiIKIAoUZXVpLTcwNzZmZjAwNTYwODBiMGYSCHB2/wBWCAsPEPSE/7sEGgsI95bwpQYQ0Mb0AyCgqr7Y9K0mKgwI9pbwpQYQwM+pnwM=","channel_index":4,"gps_time":"2023-07-22T17:01:42.871Z","received_at":"2023-07-22T17:01:42.714662309Z"}],"settings":{"data_rate":{"lora":{"bandwidth":125000, "spreading_factor":12, "coding_rate":"4/5"}}, "frequency":"867900000", "timestamp":1199555188, "time":"2023-07-22T17:01:42.871Z"},"received_at":"2023-07-22T17:01:43.009292984Z","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"}}}
                            19:01:43.238	info	javascript.0 (652027) script.js.LoRAWAN_DEV_1: {'ACI1_mA':'0.000','ACI2_mA':'0.000','AVI1_V':'13.868','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'}
                            
                            paul53 GregorS 2 Replies Last reply Reply Quote 0
                            • paul53
                              paul53 @GregorS last edited by paul53

                              @gregors sagte: Der Teufel steckt im Detail

                              ... und nun wurde auch der Datenpunkt "AVI1_V" mit dem Wert 13.87 gefüllt?

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

                                @paul53
                                @Homoran
                                @marc-berg

                                Danke für Eure Geduld und die Hilfe.
                                Jetzt funktioniert es.
                                zzzz_ok.JPG

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

                                  Wie kann ich denn
                                  "rssi" und "time"
                                  extrahieren?
                                  Alle anderen Infos haben funktioniert.

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

                                    @gregors sagte: "rssi" und "time"

                                        const msg = JSON.parse(dp.state.val).uplink_message;
                                        const payload = msg.decoded_payload;
                                        const rx0 = msg.rx_metadata[0];
                                    
                                        log(rx0.time);
                                        log(rx0.rssi);
                                    
                                    1 Reply Last reply Reply Quote 1
                                    • GregorS
                                      GregorS last edited by

                                      Nachdem ich jetzt die Daten in ioBroker habe, ist mir die Nacht eine
                                      zusätzliche Anwendung durch den Kopf gegangen.
                                      Dazu muss ich allerdings RO1 schalten.
                                      Über das Gateway habe ich bereits Erfolg gehabt, und die Rückmeldung im ioBroker aufgenommen.
                                      Messaging / Downlink --> 03 00 11 Relais öffnen
                                      --> 03 01 11 Relais schliessen

                                      Wie kann ich das RO1 aus ioBroker schalten?

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

                                        @gregors sagte in [gelöst] Payload Daten in Objekte schreiben:

                                        Nachdem ich jetzt die Daten in ioBroker habe, ist mir die Nacht eine
                                        zusätzliche Anwendung durch den Kopf gegangen.
                                        Dazu muss ich allerdings RO1 schalten.
                                        Über das Gateway habe ich bereits Erfolg gehabt, und die Rückmeldung im ioBroker aufgenommen.
                                        Messaging / Downlink --> 03 00 11 Relais öffnen
                                        --> 03 01 11 Relais schliessen

                                        Wie kann ich das RO1 aus ioBroker schalten?

                                        Ich habe das über Node Red umgesetzt, aber den entscheidenden Teil kannst du vielleicht adaptieren.

                                        So sieht ein einfacher Beispiel-Flow aus:


                                        2a1008bf-5ef8-4e05-94c4-0c2f2789e4e9-grafik.png

                                        Der Payload (hier "0501100200") wird in einem Function-Node verarbeitet (Base64 Kodierung + Erzeugung des Downlinks) und dann per MQTT an TTN gesendet.

                                        Der Code im Function-Node sieht so aus (in 'msg.hex' steckt "0501100200"):

                                        var s=msg.hex;
                                        var b=Buffer.from(s, 'hex');            //Buffer erzeugen
                                        s=b.toString("base64");                 //to base64
                                        msg.payload=
                                        {
                                            "downlinks": [{
                                              "f_port": 2,
                                              "frm_payload": s,
                                              "priority": "NORMAL"
                                            }]
                                        }
                                        return msg;
                                        

                                        Dieser so aufbereitete Payload wird dann per MQTT an folgendes Topic gesendet:

                                        v3/<APPLICATION-ID>@ttn/devices/<DEVICE_ID>/down/replace
                                        
                                        GregorS 1 Reply Last reply Reply Quote 0
                                        • GregorS
                                          GregorS @Marc Berg last edited by

                                          @marc-berg
                                          Danke für den Denkanstoss.
                                          Habe aber bisher noch keinen Erfolg gehabt.
                                          Bekomme das Payload nicht gesendet.

                                          Bleibe dran

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

                                            @gregors sagte in [gelöst] Payload Daten in Objekte schreiben:

                                            Bekomme das Payload nicht gesendet.
                                            Bleibe dran

                                            Das müsste ja dann bei dir zum Einschalten so aussehen:

                                            {
                                                "downlinks": [{
                                                  "f_port": 2,
                                                  "frm_payload": "AwER",
                                                  "priority": "NORMAL"
                                                }]
                                            }
                                            

                                            und zum Ausschalten so:

                                            {
                                                "downlinks": [{
                                                  "f_port": 2,
                                                  "frm_payload": "AwAR",
                                                  "priority": "NORMAL"
                                                }]
                                            }
                                            

                                            Auf welche Weise sendest du den Downlink?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            616
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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