Ankündigung

Einklappen
Keine Ankündigung bisher.

TP Link Steckdose mit NodeRed über KNX schalten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    TP Link Steckdose mit NodeRed über KNX schalten

    HAllo zusammen,

    ich weiß nicht genau, in welches Forum meine Frage gehört.

    Ich habe einen MDT GT2. Eine Taste habe ich zum "umschalter" Programmiert. Zum schalten nehme ich die 3/0/3 und als Status die 3/0/4.

    In Nodered hab ich den TP-Link iot Node sowie den Easy KNX installiert.

    Es funktioniert auch soweit, dass ich über den Taster die Steckdose schalten kann.
    Leider bekomme ich aber keinen Status vom nodered zurückgeliefert.
    Ich glaube, der String muss noch zerlegt werden.
    Im Nodered stehe ich aber gerade noch komplett am Anfang meiner Karriere. ;-)

    Könnt ihr mir kurz einen Tipp geben, wie ich das lösen kann?



    You do not have permission to view this gallery.
    This gallery has 1 photos.

    #2
    Hi Hi,

    setze zwischen der TP-Link Node und der Status-KNX Node noch eine Function-Node.
    In dieser Funktion-Node dann den Payload aus der TP-Link Node auswerten und dann 0 oder 1 weiterleiten an die Status-KNX Node.
    Vorrausgesetzt, die TP-Link Node liefert was zum eigenen Status.

    Zum anschauen setzte noch eine debug Node hinter die TP-Link Node, zum prüfen des Status

    Gruß von nebenan

    Kommentar


      #3
      Wie schaut so eine Function ungefähr aus? ;-)

      Kommentar


        #4
        naja, der payload, der aus der TP-Link Node rauskommt muss ausgewertet werden und dementsprechend neu gesetzt werden:

        Code:
        if (msg.payload === "TP LINK on")
        {
           msg.payload = 1;
        } 
        else 
        {
           msg.payload = 0;
        }
        
        return msg

        Kommentar


          #5
          Hi,

          vielen Dank.

          Der payload schaut so aus:
          9.1.2019, 10:26:22node: a1cdd7e9.3a203
          msg.payload : Object
          object
          sw_ver: "1.5.4 Build 180815 Rel.121440"

          hw_ver: "2.0"

          type: "IOT.SMARTPLUGSWITCH"

          model: "HS110(EU)"

          mac: "xxx"

          dev_name: "Smart Wi-Fi Plug With Energy Monitoring"

          alias: "xxxx"

          relay_state: 1

          on_time: 4

          active_mode: "none"

          feature: "TIM:ENE"

          updating: 0

          icon_hash: ""

          rssi: -69

          led_off: 0

          longitude_i: x

          latitude_i: x

          hwId: "xx2x"

          fwId: "00000000000000000000000000000000"

          deviceId: "xx"

          oemId: "xxx"

          next_action: object

          err_code: 0

          timestamp: "2019-01-09T09:26:21+00:00"


          Entscheidend hier ist der relay_state.

          Wie kann ich den payload filtern?

          Kommentar


            #6
            Ok. auf die Elemente dieses payload objekts kann man über " . " zugreifen:
            Wenn der "relay-state" nur 0 und 1 sein kann, dann gehts auch einfacher:

            Code:
             msg.payload = msg.payload.relay_state;  return msg
            Wenn du dir jetzt den payload anguckst (debug node hinter function-Node), sollte da nur "0" oder "1" rauskommen
            Das geht dann an die Status knx Node

            Kommentar


              #7
              Gelöst.

              Vielen Dank für deine Hilfe.

              Über getPowerUpdateEvents bekomme ich den Status als Bool. Diesen reiche an KNX raus. ;-)

              msg.payload = msg.payload.powerOn; return msg

              Kommentar

              Lädt...
              X