Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. vbernd

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    V
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 5
    • Best 0
    • Groups 1

    vbernd

    @vbernd

    Starter

    0
    Reputation
    8
    Profile views
    5
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    vbernd Follow
    Starter

    Latest posts made by vbernd

    • RE: LoRaWAN MQTT -> iobroker Objekte (Newbie)

      @paul53 vielen herzlichen Dank, funktioniert auf Anhieb 😉

      posted in JavaScript
      V
      vbernd
    • LoRaWAN MQTT -> iobroker Objekte (Newbie)

      Hallo an Alle,
      ev. kann mir IOBroker / MQTT / LoRaWAN Anfänger hier wer weiterhelfen, stehe auf dem Schlauch:

      Ich habe ein LoRaWAN-Gateway am Dachboden und einen LoRaWAN-Füllstandssensor an den IBC-Containern im Garten montiert. Signal ist da, alles ist in TTN eingebunden, Daten kommen bei TTN an.

      Der "Uplink payload formatter" auf TTN sieht wie folgt aus:

      function decodeUplink(input) {
        var data = {};
        data.payload_type = input.bytes[0];
        data.fuellstand = input.bytes[5];
        data.temperatur = input.bytes[6];
        return {
          data: data
        };
      }
      

      und liefert dieses Ergebnis zum IOBroker (mqtt-client):

      {"end_device_ids":{"device_id":"eui-############","application_ids":{"application_id":"############"},"dev_eui":"ZZZZZZZ############ZZZZ","join_eui":"############","dev_addr":"############"},"correlation_ids":["as:up::#########################","gs:conn::#########################","gs:up:host:01:#########################","gs:uplink::#########################","ns:uplink::#########################","rpc:/ttn.lorawan.v3.GsNs/HandleUplink::#########################","rpc:/ttn.lorawan.v3.NsAs/HandleUplink:#########################"],"received_at":"2022-08-08T05:02:13.263995730Z","uplink_message": {"session_key_id":":#########################","f_port":16,"f_cnt":24,
      
      "frm_payload":"EAAAAAAMEpoADBOaAA4amgAOHpo=",
      "decoded_payload":{"fuellstand":12,"payload_type":16,"temperatur":18},
      
      "rx_metadata":[{"gateway_ids":{"gateway_id":"############","eui":"############"},"timestamp":843522929,"rssi":-93,"channel_rssi":-93,"snr":8.8,"frequency_offset":"-630","location":{"latitude":############,"longitude":############,"altitude":####,"source":"SOURCE_REGISTRY"},"uplink_token":"########################","channel_index":6}],"settings":{"data_rate":{"lora":{"bandwidth":125000,"spreading_factor":7}},"coding_rate":"4/5","frequency":"867700000","timestamp":843522929},"received_at":"2022-08-08T05:02:13.047628893Z","confirmed":true,"consumed_airtime":"0.071936s","locations":{"user":{"latitude":############,"longitude":############,"altitude":274,"source":"SOURCE_REGISTRY"}},"network_ids":{"net_id":"000013","tenant_id":"ttn","cluster_id":"eu1","cluster_address":"eu1.cloud.thethings.network"}}}
      

      Mittels nachfolgendem IOBroker-Skript möchte ich jetzt die Werte aus dem "deoded_payload" herausholen und in ein IOBroker-Objekt speichern - das funktioniert aber leider so nicht (Objekte sind zwar da, aber immer nur mit 0 gefüllt):

      on({id: "mqtt-client.0.v3.############@ttn.devices.eui-##########.up", change: "any"}, function (obj) { ParseCommand(obj); });
      
      function ParseCommand(obj) {
          let name = "###########";
          let fuellstand = 1;
          let payload_type = 1;
          let temperatur = 1;
          let LoRaDestination = "javascript.0.LoRa.";
      
          try { 
            var Wasserstand = JSON.parse(obj);
      
            fuellstand = Wasserstand.decoded_payload.fuellstand;
            payload_type = Wasserstand.payload_type;
            temperatur = Wasserstand.temperatur;
      
            let StateFuellstand = LoRaDestination + name + ".fuellstand";
            let StatePayloadType = LoRaDestination + name + ".payload_type";
      	  let StateTemperatur = LoRaDestination + name + ".temperatur";
      
            createState(StateFuellstand, 0);
            createState(StatePayloadType, 0);
      	  createState(StateTemperatur, 0);
      
            setState(StateFuellstand, fuellstand);
            setState(StatePayloadType, payload_type);
      	  setState(StateTemperatur, temperatur);
          } catch (e) {
          return;
        }
      }
      

      Ich vermute mal, das letztere JavaScript ist so noch nicht in Ordnung..... jemand ein "best practice" oder eine Anregung?
      Danke und lg

      posted in JavaScript
      V
      vbernd
    • RE: Wert wird nicht weitergegeben

      Okay, welches Skript auch immer jetzt funktioniert, es geht nach einer Weile 🙂
      Werd das noch genau herausfinden...

      Danke!

      posted in JavaScript
      V
      vbernd
    • RE: Wert wird nicht weitergegeben

      Danke, aber es hilft nix:

      Blockly:
      92ddcbc1-8794-43a4-a44c-6a988828eb0f-image.png
      es passiert nix.

      JavaScript:
      6adb4bbc-158a-49a7-9bed-ab770a0032a7-image.png
      Wert zeigt immer nur "%s" an

      Er sollte aber auf 91 stehen:
      2154dcbb-5c2c-41aa-8e2b-2266efa5adce-image.png

      Simulieren ging plötzlich 1x, dann nicht mehr: (die Abfrage im Drittsysttem zeigte einmal "99" statt "%s")
      4261ebf0-e3e4-4ffd-a25a-f990875e1e13-image.png

      posted in JavaScript
      V
      vbernd
    • Wert wird nicht weitergegeben

      Ich möchte den SoC meines E-Autos mittels IOBroker an meine (andere) Haussteuerung übergeben.
      Das dortige Objekt kann ich mittels Browser-Url setzen und abfragen.

      Bei der JavaScript-Rule hingegen funktioniert die Übertragung des Werts nicht,
      IOBroker setzt mein Objekt immer "%s" und verwendet nicht den eigentlich gedachten Wert (den ich in IOBroker korrekt abfragen kann).

      Url ist:
      http://IPADDRESS/remote/?login=LOGIN&pass=PASS&koid=123&kovalue=%s

      Die Abfrage von http://IPADDRESS/remote/?login=LOGIN&pass=>PASS&koid=123 gibt mit dann immer "%s" aus...

      Jemand eine Idee was es da haben könnte?

      posted in JavaScript
      V
      vbernd
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo