Ankündigung

Einklappen
Keine Ankündigung bisher.

HomeKit Brücke für KNX

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

    Zitat von brutella Beitrag anzeigen

    Ja, die Funktion ListenAndServe ist jetzt im net/http Package – das hätte schon immer so sein sollen und wurde in Version 2.8.1 geändert – sorry, dass das nicht besser kommuniziert wurde.
    Vielen Dank, das hat funktioniert.

    Das solltest du dann auch in deiner Doku aktualisieren, denn dort weist du explizit darauf hin, dass es ohne Angabe eines Paketes aufgerufen werden muss:
    https://hochgatterer.me/de/hkknx/doc...pts/dashboard/

    Kommentar


      Nachdem ich in der Suchfunktion hier im Thread nicht fündig geworden bin... eine Frage bzgl. der Farb- und CCT-Ansteuerung:

      In der Home app gibt es beim Beispiel von farbigen Philips Hue Leuchten sowohl eine Farbauswahl und eine Auswahl der CCT:

      IMG_9242.png


      Ich plane RGBW-Stripes über ein DALI Gateway und hkknx in die Home app zu bringen. Es sind mit der Brücke Objekte für Ein/Aus, Helligkeit, Hue, Saturation parametriert.

      Liege ich richtig, dass dann sowohl die Farbansteuerung als auch eine Auswahl der CCT möglich ist - wie bei Philips Hue? D.h. die Brücke rechnet CCT in HSV um und leitet diese umgerechneten Werte weiter?

      Screenshot 2024-03-22 at 13.43.30.png

      Kommentar


        Zitat von AndiVaio Beitrag anzeigen
        Das solltest du dann auch in deiner Doku aktualisieren, denn dort weist du explizit darauf hin, dass es ohne Angabe eines Paketes aufgerufen werden muss:
        https://hochgatterer.me/de/hkknx/doc...pts/dashboard/
        Danke, wurde geändert.

        Kommentar


          Zitat von wwfr Beitrag anzeigen
          Liege ich richtig, dass dann sowohl die Farbansteuerung als auch eine Auswahl der CCT möglich ist - wie bei Philips Hue? D.h. die Brücke rechnet CCT in HSV um und leitet diese umgerechneten Werte weiter?​
          Nein, wenn du HSV, RGB, oder Farbe für eine Lampe konfiguriert hast, dann bekommst du die Farbauswahl in der Home-App angezeigt.
          Wenn du die Farbtemperatur konfiguriert hast, dann bekommst du die Farbtemperaturauswahl angezeigt. Eine Umrechnung von Farbtemperatur auf Farbe steht nicht zur Verfügung.

          Kommentar


            brutella Danke für die Rückmeldung - wäre super wenn die Brücke DPT242.600 / XY Farbe unterstützen würde

            Kommentar


              Noch eine weitere Frage bzgl. der Temperatursteuerung: Ist der Kelvin-Wert links und rechts festeingestellt bzw. von HomeKit vorgegeben?

              IMG_9359.png
              IMG_9360.png

              Ich möchte Lampen ansteuern die einen sehr hohen CCT-Bereich abdecken können (von 1800-16000K)...

              Kommentar


                Hallo zusammen,

                erstmal ein extrem großes Lob, an den Entwickler. Bin zwar noch am Testen, weil ich nicht so viel Zeit habe auch schon länger. Aber jedes mal wenn ich mich dran setze, bin ich echt begeistern und werde das Paket auch kaufen. Man sieht und "fühlt" was da an Arbeit drin steckt, plus dem Support. Dafür ist der Lizenzpreis absolut geschenkt!!!

                Nun zu meinem Problemchen, es geht um das Scripting. Ich muss zugeben. dass ich gerade das erste Mal mit GO zu tun hatte. Habe 30 Jahre lang als Softwareentwickler gearbeitet, aber die letzten Jahre im Projektmanagement kommt einem an intuitiver Erfahrung doch viel abhanden... :-(

                Was ich möchte ist Teilstrings, die via 14-Byte-Objekte vom HS über den Bus zur Homekit Brücke gehen, in dem Script sammeln und bei einem "*GO*" dann als Notification auf's Handy geschickt werden. Als allgemeine Alarmierungsfunktion. Klappt im Prinzip, nur - und das ist eigentlich peinlich - die Erkennung des Terminierungssymbols "*GO*" bekomme ich nicht hin

                [CODE
                ]var hkknx = import("hkknx")
                var strings = import("strings")

                var oCh = hkknx.GroupWriteNotify("0/5/200")
                var strComplete = ""



                for {
                buf = <-oCh
                msg = strings.TrimSpace(hkknx.ParseDPT16000(buf))

                if (msg == "*GO*") {
                hkknx.SendNotification("Meldung von HS", strComplete, "Mike")
                println("Send:" + strComplete)
                strComplete = ""
                } else {
                strComplete = strComplete + msg + " "
                }


                }[/CODE]

                Ich bitte untertänigst um Erleuchtung​
                Mike

                Nachtrag: Die ParseFunktion auf ASCII "ParseDPT16000" geändert, macht aber keinen Unterschied
                Zuletzt geändert von MikeR; 13.04.2024, 13:46.

                Kommentar


                  in jeder bekannten Sprache muss an der Stelle ein String-Vergleich verwendet werden.

                  Kommentar


                    Ja, der == Operator. Ist in C++ auch so und steht auch in der Go-Doku. Ergebnis des Operators sollte Bool sein.

                    bin aber dankbar für eine Korrektur.

                    Kommentar


                      In der Go-Doku gibt es noch die funktionale Alternative strings.Compare, aber die scheint in der HomeKit Bridge nicht zu funktionieren.

                      Kommentar


                        Okay - GO gehört nicht zu "meinen" Sprachen; schau mal, ob das = für Initialisierung und das := für eine Zuweisung an eine Variable verwendet werden muss

                        Kommentar


                          Also mit Debug-Ausgaben (println) funktionieren die Zuweisungen.
                          Das Problem ist schon der Stringvergleich, aber der ist sowohl syntaktisch als auch semantisch richtig, natürlich im Rahmen meines Verständnisses.
                          .
                          Ich vermute irgendeine blöde Type-Cast Geschichte, die mir fehlt.

                          Auf dem BUs werden ja 16-Byte-Texte, die kürzer sind als 16 Byte immer mit aufgefüllten Nullen geschickt. Deswegen habe ich statt dem
                          Code:
                          TrimSpace(hkknx.ParseDPT16000(buf))"
                          auch mal ein
                          Code:
                          Trim(hkknx.ParseDPT16000(buf), "\x00")
                          probiert. Gleiches Nicht-Ergebnis

                          Kommentar


                            Hast Du beide Seiten der Kommunikation im Griff? Also das "*GO*"​ durch ein einzelnes Zeichen ersetzten wie "G"
                            Alternativ den Vergleich zeichenweise implementieren

                            Kommentar


                              Klar kann man den Stringvergleich auch zeichenweise selbst implementieren. Aber das erinnert mich an Asemmbler auf dem C64, als man selbst Integer-Multiplikationen selbst implementieren musst, weil der 6502/6510 Prozessor keine Multiplikation geschweige Division kannte.

                              Kommentar


                                E muss ja hier mehr Anwender, nicht zuletzt auch den Entwickler geben, die sowas schon mal gemacht haben.
                                Ich denke ein String-Vergleich ist nicht ganz so exotisch und vermutlich auch nicht ein Vergleich mit einem Empfangenen DPT-16-0 Telegram

                                Ich warte mal, bevor ich da selber Hand anlege. Is ja Wochenende und schönes Wetter

                                Besten Dank aber schon mal für die Hilfe
                                Mike

                                Kommentar

                                Lädt...
                                X