Ankündigung

Einklappen
Keine Ankündigung bisher.

Anbindung Conbee an Edomi

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

    Anbindung Conbee an Edomi

    Hallo zusammen,

    ich experimentiere gerade mit einem Conbee II-Stick an einem RasPi und bekomme gerade per HTTP-GET die ersten Werte über den Edomi auf den BUS.

    Kurzfristig möchte ich: Ein paar Sensoren (Luftfeuchte) an den BUS anbinden (dafür reicht die Konfiguration soweit)
    Mittelfristig: Fensterkontakte (Briefkasten) anbinden (alle 5 Minuten einen GET-Request schicken ist weniger sinnvoll -> Event sollte abgegriffen werden)
    Langfristig: Leuchten anbinden und integrieren (Dimmwerte senden, Ein/Aus, Rückmeldung)

    Gegen die Philips HUE-Bridge habe ich mich bewusst entschieden, da ich gern nur eine (flexible) Bridge laufen lassen will, also fällt der LBS schon einmal weg. Was wäre Eurer Ansicht nach die geeignetste Anbindung? MQTT?

    Viele Grüße

    #2
    Du hast leider nicht erwähnt, ob Du deCONZ nutzt oder irgendwas anderes ...
    Möglichkeiten gibt es ja viele, z.B. zigbee2mqtt

    Ich habe deCONZ mit dem Rest-Plugin am Laufen. Die Rest-API ist zu 100% mit der Original-Hue-API kompatibel, aber unterstützt noch weitere Hardware.
    Ich nutze also mit ConBee II und deCONZ den Hue-LBS, den ich für mich um die Geräte erweitert habe, die OOTB nicht unterstützt werden.

    Kommentar


      #3
      Ah, sorry. Ich bin mit dem Phoscon-Image gestartet: "Homebridge-hue + Rasbian Buster", da sollte dann deCONZ schon installiert sein.

      Unter /home/pi/.homebridge/config.json habe ich einen Usernamen gefunden, den ich auf den "HUE-Bridge v1.4"-LBS losgelassen habe. Hier bekomme ich sogar eine ID zurück. War das grundsätzlich mal richtig?

      Kommentar


        #4
        Nein, das war eine Sackgasse, die ID ist Blödsinn. Welchen Usernamen trage ich denn in E2 der HUE-Bridge (LBS 19000195) ein?

        Mit der API habe ich mir bereits einen Usernamen erstellt und einen API-Key bekommen. Aber auch diese zwei Werte bewirken in E2 der HUE-Bridge keine Änderung.

        Kommentar


          #5
          Der Username ist der API-Key. Ich würde mal den Log-Level hochstellen, dann sollte irgendwas in den Logs auftauchen.

          Kommentar


            #6
            Für Realtime-Feedback gibt es eine Websocket-API:

            https://dresden-elektronik.github.io...nts/websocket/

            allerdings noch keinen LBS dafür. Vielleicht gibt es hier jemanden der sich mit Websocket-Verbindungen unter PHP auskennt.

            Licht an und aus mache ich mit folgendem LBS:

            PHP-Code:
            ###[DEF]###
            [name = deCONZ Set light state]

            [e#1 = IP ]
            [e#2 = Key ]
            [e#3 = Light ]
            [e#4 = On ]
            [e#5 = Bri ]
            [e#6 = leer ]
            [e#7 = Log level #init=8 ]

            [a#1 = Status ]
            [a#2 = JSON_out ]
            [a#3 = JSON_in ]

            [v#100 = 0.1 ] # Version
            [v#101 = 19000051 ] # LBS No.
            [v#102 = deCONZ Set light state] # LBS Name
            [v#103 = 0 ] # Log Level

            ###[/DEF]###

            ###[HELP]###
            Kommt später
            ###[/HELP]###

            ###[LBS]###
            <?

            function isBoolean($value) {
            if ($value) {
            return true;
            } else {
            return false;
            }
            }

            function LB_LBSID($id) {

            $E=logic_getInputs($id);
            if ($E[4]['refresh']==1) {

            $value = $E[4]['value'];
            logic_setOutput($id, 1, $value);

            $bri = intval($E[5]['value']);
            $data = array("on" => isBoolean($value), "bri" => $bri); 
            $data_string = json_encode($data);

            $ip = $E[1]['value'];
            $key = $E[2]['value'];
            $light = $E[3]['value']; 

            $ch = curl_init('http://'.$ip.'/api/'.$key.'/lights/'.$light.'/state'); 
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); 
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
            curl_setopt($ch, CURLOPT_HTTPHEADER, array( 
            'Content-Type: application/json', 
            'Content-Length: ' . strlen($data_string)) 
            ); 

            $result = curl_exec($ch);
            curl_close($ch); 
            }

            }


            ?>
            ###[/LBS]###


            ###[EXEC]###
            <?
            ?>
            ###[/EXEC]###

            Kommentar


              #7
              Zitat von s01iD Beitrag anzeigen
              Der Username ist der API-Key. Ich würde mal den Log-Level hochstellen, dann sollte irgendwas in den Logs auftauchen.
              Sauber, das funktioniert - Danke! Allerdings erst nach Aktivierung/Neustart von Edomi. Die Live-Änderung des iKOs hat zunächst nichts bewirkt.

              Kommentar


                #8
                Zitat von Monti Beitrag anzeigen
                Licht an und aus mache ich mit folgendem LBS:
                Ah, das ist auch cool... Den Baustein gibt's aber noch nicht zum Download, oder?
                Ich habe mit JSON-Abfrage (19000933) und JSON-Extraktor (19001208) etwa gebastelt, aber Deinen Baustein schau ich mir mal näher an.

                Kommentar


                  #9
                  Der Baustein ist noch nicht ganz fertig, daher auch noch nicht bei den Downloads. Für eine Abfrage des Status müsste man noch ein Polling ergänzen oder auf die Socketlösung gehen.

                  Kommentar

                  Lädt...
                  X