Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] NFC mqtt in iobroker anwenden

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[gelöst] NFC mqtt in iobroker anwenden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 734 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    Ati
    schrieb am zuletzt editiert von
    #1

    Ich habe ein NFC–Modul im Einsatz, welches über mqtt in iobroker eingebunden ist. Im „in“–Kanal wird unter „Wert“ die Nummer des RFID–Chips angezeigt. Das Format ist hier JSON.

    Ich suche nach einer Möglichkeit, hiermit eine Tastfunktion auszulösen.

    Mit Blockly bin ich da noch nicht zum Ziel gekommen. Allein schon die „wenn…mache“ Funktion ist nicht schlüssig. Entweder wird aktualisiert oder geändert als Bedingung. Das verursacht aber das Problem, dass wenn Änderung aktiv ist, chip1 sich einmal anmeldet, dann nur noch über Änderung der Nummer, also z.B. Chip2 wieder aktiv werden kann.

    Andersrum wenn Aktualisierung drin steht, dann kann nur der letzte drin stehende Wert auslösen.

    Außerdem muss wohl JSON erst dekodiert werden, damit iobroker damit etwas anfangen kann. Ich hatte zuerst testweise den gesamten Inhalt von „Wert“ in ein Textblockly eingefügt, was aber keinerlei Funktion hervorrief. Verwende ich ein JSON konvert, dann funktioniert das ebenfalls nicht. Wenn ich mir den Code dazu anschaue, sieht der aber recht sonderbar aus.

    Wie bekomme ich eine Auswertung des Inhaltes von mqtt hin bzw. was ist falsch?

    1 Antwort Letzte Antwort
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #2

      @Ati:

      Das Format ist hier JSON. ` Poste doch mal das JSON.

      Ich mag Blockly nicht, deswegen kann ich dir eher mit JS Helfen.

      In JS gibt es die möglichkeit auf jede Änderung zu reagieren, das sieht dann so aus:

      on({id: "in-kanal", change: any}
      	,function(obj){
      		log(obj.state.val)
      	}
      });
      

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        Ati
        schrieb am zuletzt editiert von
        #3
        	{"idx":1,"nvalue":0,"svalue":"305247091"}	
        

        mich interessiert dabei svalue.

        Wenn JS soll mir recht sein. Ich versuche je eh mich da reinzufummeln - auch wenn vieles schwer fällt. 😉

        Hier noch der Blockly Code

         on[({id: 'mqtt.0.domoticz.in', change: "any"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          console.log('value');
          if (getState("mqtt.0.domoticz.in").val == '    {"idx":1,"nvalue":0,"svalue":"30524xxxx"}    ') {
            setState("hm-rpc.2.000218A9916FDA.3"/*Schaltsteckdose test:3*/, true);
            setStateDelayed("hm-rpc.2.000218A9916FDA.3"/*Schaltsteckdose test:3*/, false, 1000, true);
            // RFID 
        

        Auffällig sind für mich zumindest die Leerstellen im GetState

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          Ati
          schrieb am zuletzt editiert von
          #4

          So. Das Problem ist nun gelöst.

          on({id: 'mqtt.0.domoticz.in', change: "any"}, function (obj) {
          
                  var NFC;
          
             //der try ist wichtig, dass der adapter nicht abschmiert bei einem Fehler. Hiermit parsen wir die json in ein object
             try {obj = JSON.parse(getState('mqtt.0.domoticz.in').val);
             } catch (e) {
                     console.error('Cannot parse: ' + getState('mqtt.0.domoticz.in').val);
                     return;
              }
          
             log(obj.svalue);
             NFC = obj.svalue;
          
            if ( NFC === "xxxx47091" || NFC === "xxxx076275" || NFC === "xxxx880515" || NFC === "xxxx213571" || NFC === "xxxx486467" || NFC === "xxxx713987" || NFC === "xxxx057774" ) {
              setState("hm-rpc.2.000218A9916FDA.3.STATE", true);//schaltet Aktor ein
              log("Einschalten ausgeführt");
              setStateDelayed("hm-rpc.2.000218A9916FDA.3.STATE", false, 2000, true);//schaltet Aktor in 1 Sekunde aus und aktiviert Planung für nächste Aktivierung
              log("Ausschalten ausgeführt");
            }
          });
          
          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          375

          Online

          32.4k

          Benutzer

          81.4k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe