Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. zigbee2mqtt Osram Steckdose schalten ? (Json MQTT)

    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

    zigbee2mqtt Osram Steckdose schalten ? (Json MQTT)

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      BeNeDeLuX last edited by

      Hallo IoBroker User,

      ich habe ein (Verständnis-)Problem mit MQTT und JSON. Nutze zigbee2mqtt und einige Osram Steckdosen. Über ein JSON Convert Script bekomme ich per MQTT sauber die Datenpunkte einzeln getrennt in IoBroker.

      Hier ein Screenshot:
      mqtt-convert.JPG

      Nutze folgendes Script was auch soweit funktioniert für das lesen, aber nicht für das schreiben (schalten der Steckdose):

      var pfad = "javascript.0.jsonconverter.";
      var channel = "zigbee2mqtt.";
      var sname = "OsramPlug1.";
      
      var idstate = pfad + channel + sname + 'State';
      var idlinkquality = pfad + channel + sname + 'Linkquality';
      var idlast_seen = pfad + channel + sname + 'Last_seen';
      
      createState(idstate, 0,{type: 'boolean',name: 'Aktueller Status', read: true,write: true,role: 'value'});
      createState(idlinkquality, 0,{type: 'number',name: 'Funkqualität', read: true,write: true,role: 'value'});
      createState(idlast_seen, 0,{type: 'string',name: 'Letzte Verbindung', read: true,write: true,role: 'value'});
      
      on({id: 'mqtt.0.zigbee2mqtt.0x84182600000f197b', change: "any"}, function (obj) 
      
      {
          var state;
          var linkquality;
          var last_seen;
          try {obj = JSON.parse(getState('mqtt.0.zigbee2mqtt.0x84182600000f197b').val);
          } catch (e) {
          console.error('Cannot parse: ' + getState('mqtt.0.zigbee2mqtt.0x84182600000f197b').val);
          return;
          }
          state = obj.state;
          linkquality = obj.linkquality;
          last_seen = obj.last_seen;
      
          setState(idstate, state);
          setState(idlinkquality, linkquality);
          setState(idlast_seen, last_seen);
      
          log(state);
          log(linkquality);
          log(last_seen);
      });
      

      Hier der orignale MQTT Eintrag:
      mqtt-normal.JPG

      Nur - wie kann ich Daten auf diesen Weg senden um die Steckdose zu schalten ?

      Wenn ich true/false auf dem neuen erstellen konvertierten Objekt per Script mache - geht ja das ja nicht per MQTT zurück auf das Eigentlichen MQTT Objekt welches ein JSON String erwartet.

      Habt Ihr mit einen Tipp ? Bin da sicherlich nicht der erste, habe aber dazu nichts passendes im Forum gefunden.

      Danke & Grüße,
      BeNe

      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by

        warum nimmst du nicht den zigbee Adapter ??

        1 Reply Last reply Reply Quote 0
        • B
          BeNeDeLuX last edited by

          Kann denn der zigbee Adapter auch mit den Routern umgehen bzw. eine networkmap mit graphviz erstellen ?

          Das ist sehr hilfreich für mich, um zu sehen welche Geräte an welchen Routern hängen und wie die Empfang stärke ist. Bin immer noch am Ausbau und habe zwei selber gebaute Router im Einsatz.

          Auf der anderen Seite, habe ich vielleicht noch Geräte die ebenfalls per MQTT im JSON Format arbeiten, die nicht per Zigbee ankommen. Allerspätestens dann bräuchte ich ja wieder diese Funktion.

          arteck 1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @BeNeDeLuX last edited by arteck

            @BeNeDeLuX was sind den selbstgebaute Router ... und ja es gibt auch eine Map . wobei es immer nur die link_quality der entscheidende Faktor ist... da du keine Möglichkeit hast bei einem Zigbee das routing zu beinflussen..

            weiter mit MQTT:
            dann musst du den mqtt json wieder so zusammen bauen wie du den auch auseinander genommen hast .. und in das gleiche Datenpunkt schreiben

            1 Reply Last reply Reply Quote 0
            • B
              BeNeDeLuX last edited by

              Danke schon mal für deine Antwort 👍
              Habe mir solche Router gebaut -> https://www.zigbee2mqtt.io/how_tos/how_to_create_a_cc2530_router.html

              Das habe ich mir schon so gedacht, wieder mit dem gleichen Weg zurück.
              Also entweder selber was machen (da ich bisher nichts dazu gefunden habe im Forum) oder eben den Zigbee Adapter nutzen.

              Dann habe ich ja schon mal einen Ansatz.
              Danke!

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

              Support us

              ioBroker
              Community Adapters
              Donate

              713
              Online

              31.8k
              Users

              79.9k
              Topics

              1.3m
              Posts

              javascript
              2
              5
              1041
              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