Beiträge von sschuste

    Am iPhone zeigt es mir als IP Adresse 169.254.127.152 an, eine ganz seltsame.

    Immer dann, wenn Geräte keine IP von einem DHCP-Server (in diesem Falle wahrscheinlich deine ConnectBox) zugewiesen bekommen, denken sie sich selber eine aus und die beginnt immer mit 169.254.


    Geräte, die also so eine IP-Adresse haben, können den DHCP-Server nicht erreichen oder der DHCP-Server läuft nicht.

    So, ich versteh's zwar immer noch nicht, aber es scheint so, als würde die Automation jetzt laufen.

    Der Fehler taucht nur beim Testen im Kurzbefehl auf. Wenn ich allerdings den Lichtschalter drücke und in Hü die Sensoren beobachte, wird alles korrekt ein und aus geschaltet.

    Versteh ich auch nicht. Verbuchen wir es unter Bugs.


    Aber tatsächlich ist das hier auch eine Hardcore-Konfiguration für Fortgeschrittene. Das geht weit über das hinaus, was normale HomeKit- oder Hue-Nutzer mit ihrem Zeugs so anstellen. Ich find's sehr geil von Philips, dass die diese schöne API zur Verfügung stellen, damit man so ein Zeugs machen.

    puh. Gibts eine Möglichkeit das zu umgehen?

    Der Fehler kommt dann, wenn ein Zertifikat ungültig ist. Dann kann der Fall sein, wenn es abgelaufen ist, irgendwie selbstgebastelt oder eine fiese Falle russischer Hacker ist. Letzteres will ich ausschließen, ich glaube nicht, dass auf deiner Hue-Bridge die Russen hocken und außerdem bekomme ich ja auch diesen Fehler, wenn ich https verwende.


    Der Fehler ist aber egal. Die SSL-Zertifikate sind ein Teil der Verschlüsselung der Kommunikation zwischen Kurzbefehle und Bridge. Die geht auch, wenn das Zertifikat ungültig ist, aber Kurzbefehle kann nicht mehr checken, ob das Zertifikat wirklich von der Bridge kommt. Also weigert sich Kurzbefehle, weiter mit der Hue-Bridge zu kommunizieren. Da wir wissen, dass alles ok ist, müsste man Kurzbefehle beibringen, dass es das ignorieren soll. Ich weiß nicht, wie man das macht. Normalerweise müsste man das dem Zertifikatsspeicher hinzufügen und dort sagen, dass man dem Zertifikat traut. Weiß nicht, wie.


    Nur, noch mal: diese Meldung taucht nicht auf, wenn die URL nicht mit https:// beginnt, sondern mit http://

    Was meint der denn für'n Zertifikat?

    Wenn man https verwendet, werden zwischen dem Server (Hue-Bridge) und dem Client (hier: Kurzbefehle, kann auch ein Browser sein), Zertifikate ausgetauscht. Gibt's erst seit 25 Jahren, ist also moderner Schnickschnack. Es ist heutzutage die Basis im Internet, wenn du mit einem Webbrowser arbeitest.


    Das alles passiert, wenn man https verwendet. Verwendet man http, gibt es keinerlei Zertifikatsaustausch. Weiß nicht, wie diese Meldung sonst entstehen soll und schon gar nicht zweimal nicht und dann wieder.

    Der Plan war „Szene aktivieren“ und automatisch nach 5 Minuten wieder abschalten.

    Szenen werden nicht eingeschaltet, also kann man sie auch nicht abschalten. Szenen werden aktiviert und bleiben aktiviert, bis man eine andere Szene aktiviert oder manuell ein Gerät aus der Szene verändert.


    Ich weiß keine Lösung und mit Kurzbefehlen kenne ich mich nicht aus. Ich hab's bei mir über die Homebridge gelöst.

    leider auch nicht. Jetzt kommt:

    {"error":{"type":4,"address":"\/senors\/233","description":"method, PUT, not available for resource, \/senors\/233"}}

    Tja. Wenn man das so liest und da so liest method PUT, dann könnte man glatt auf die Idee kommen, dass method POST im Kurzbefehl nicht ganz so richtig ist. POST hatte ich oben in Post #1051 geschrieben, obwohl es PUT heißen müsste. Welche hast du genommen?


    Ok, ich habe es mal selbst versucht, und so geht es:

    • Methode: PUT
    • Header: neue Überschrift hinzufügen
      • Schlüssel: content-type
      • Text: application/json
    • Haupttext anfordern: JSON
      • darunter: neues Feld hinzufügen -> Boolescher Wert
      • Schlüssel: on
      • Wahr oder Falsch für Sensor aktivieren oder Deaktivieren

    Gibt es noch andere Möglichkeiten das wlan zu aktivieren?

    Also: wir wissen schon mal, dass dein WLAN grundsätzlich funktioniert, denn du bekommst eine Liste von SSIDs angezeigt. Hardware ok, Software ok. Das ist doch schon mal ein großer Schritt.


    Versuch doch mal bitte ein sudo wpa_cli -i wlan0 reconfigure. Damit wird deine Datei /etc/wpa_supplicant/wpa_supplicant.conf neu eingelesen.


    Ich habe mir heute morgen beim Herumspielen mit meinem Raspi WLAN die Kiste so derart zerschossen, dass ich zwei Stunden brauchte, um sie wieder ans Laufen zu bekommen. Am Ende stellte ich fest, dass ich tatsächlich versehentlich ein Fhlerchen in /etc/wpa_supplicant/wpa_supplicant.conf eingebaut hatte - zehnmal draufgeglotzt, nicht einmal gesehen.


    Der Befehl ifconfig zeigt dir, welche Netzwerkkarten welche IP-Adresse haben. Sieht bei mir so aus (und bei dir ein bisschen anders):


    eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

    ether dc:a6:32:17:c2:f6 txqueuelen 1000 (Ethernet)

    RX packets 96 bytes 40573 (39.6 KiB)

    RX errors 0 dropped 0 overruns 0 frame 0

    TX packets 102 bytes 19276 (18.8 KiB)

    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


    lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

    inet 127.0.0.1 netmask 255.0.0.0

    inet6 ::1 prefixlen 128 scopeid 0x10<host>

    loop txqueuelen 1000 (Local Loopback)

    RX packets 36143 bytes 14897840 (14.2 MiB)

    RX errors 0 dropped 0 overruns 0 frame 0

    TX packets 36143 bytes 14897840 (14.2 MiB)

    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

    inet 192.168.1.22 netmask 255.255.255.0 broadcast 192.168.1.255

    inet6 fd32:e7b9:4ac2:2:724c:f793:5acf:89c prefixlen 64 scopeid 0x0<global>

    inet6 fdb9:4c0e:2905:2:eb40:b43d:6829:2a66 prefixlen 64 scopeid 0x0<global>

    inet6 fe80::edf9:d542:9ad0:bda6 prefixlen 64 scopeid 0x20<link>

    ether dc:a6:32:17:c2:f7 txqueuelen 1000 (Ethernet)

    RX packets 49888 bytes 36126609 (34.4 MiB)

    RX errors 0 dropped 0 overruns 0 frame 0

    TX packets 50689 bytes 23323431 (22.2 MiB)

    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


    Es gibt drei Netzwerkkarten: zwei aus Hardware und eine aus Software, nämlich eth0 (die Ethernet-Schnittstelle, an der das LAN-Kabel hängt), lo (die virtuelle, die wir jetzt nicht weiter beachten) und wlan0 (weitere Erklärung wahrscheinlich überflüssig). Alle drei sind oben in den drei Abschnitten zu sehen.


    Bei mir hat nur wlan0 eine IP-Adresse (inet 192.168.1.22) und eth0 hat keine, weil ich sie nicht verwende. Bei dir steht bei eth0 eine IP-Adresse und du willst eine haben für wlan0. Dazu muss sich wlan0 mit deinem WLAN verbinden und vom Router eine Adresse anfordern. Die Verbindung zum WLAN ist nur möglich mit gültigen Zugangsdaten in /etc/wpa_supplicant/wpa_supplicant.conf, die du mit sudo nano /etc/wpa_supplicant/wpa_supplicant.conf bearbeiten kannst. Ich bin ziemlich sicher, dass hier der tote Hund liegt.

    Beim nächsten Mal hätten wir gern ein Polaroid von deinem Log. Ich weiß: das ist alles auf dem iPad und da ist es einfacher, einen Screenshot zu machen. Das sehe ich ja alles ein. Und um es präzise einzusehen: es ist einfacher für dich, einen Screenshot zu machen, aber es für andere schwieriger, diesen zu verarbeiten, ohne ihn abzuschreiben, wenn man mal bei Google was einwerfen muss.


    Ok, du warst in Eile. Dann wollen wir mal:


    Irgendwas fehlt - es nennt sich fastq. Ich habe keine Ahnung, was das ist und wo das hin muss. Daher empfehle ich, homebridge-config-ui-x zu deinstallieren und gleich wieder neu zu installieren. Ich nehme an, dass dann das fehlende Teil mitkommt. Versuch's mal. Auf den Raspi einloggen und dann:


    sudo npm uninstall -g --unsafe-perm homebridge-config-ui-x

    sudo npm install -g --unsafe-perm homebridge-config-ui-x


    Vielleicht geht's dann wieder.

    Das hab ich geschafft. Wenn ich allerdings den Kurzbefehl auslöse kommt: "Das Zertifikat für diesen Server ist ungültig. Eventuell wird eine Verbindung mit einem Server hergestellt, der vorgibt, 192.168.178.25 zu sein, und vertrauliche Daten gefährdet...

    Mach mal aus dem https:// ein http://

    Gibt es den die Möglichkeit diese curl als Switch anzulegen?

    Klar, und um es einfach zu machen, würde ich so vorgehen: schreib ein Script.


    sudo nano /usr/local/bin/switch-on.sh

    Bash
    #!/bin/bash
    curl -X POST -H 'Content-Type: application/json' -d '{"command": "effect","effect": {"name": "MyKnight"},"priority": 1,"origin": "My Fancy App"}' http://IP:PORT/json-rpc

    Abspeichern und beenden, dann ausführbar machen mit:

    chmod +x /usr/local/bin/switch-on.sh


    Testen mit:

    switch-on.sh


    In Homebridge konfigurieren für beispielsweise homebridge-cmdtrigger:

    Code
         {
                "accessory": "CmdTrigger",
                "name": "Funzel an",
                "command": "/usr/local/bin/switch-on.sh"
            },

    Die Home und die Eve-App synchroniesieren sich, habe ich festgetsellt. Ist es dann egal?

    Ja. Die beiden Programme sind nur Frontends für HomeKit - wie alle anderen HomeKit-Programme auch.

    Kann ich die Automation (wennm Sie schlicht ist) in Home anlegen und später (wenns Komplexer werden soll) in Eve verändern?

    Ja.

    Funktioniert sync in beide Richtungen?

    Sie synchronisieren sich nicht. Sie lesen beide aus der gleichen Datenbank - wie alle anderen HomeKit-Programme auch.

    Was macht dann noch die HUE-App? Nur noch das verwalten der HUE-Geräte (Update, Anlernen etc)

    So ist es. ich verwende sie nur zur Einrichtung neuer Lampen, Schalter und Sensoren. Ich verwende sie auch zur Konfiguration von Hue-Bewegungsmeldern oder Hie-Schultern. Das geht hier meiner Meinung nach besser als in Home, weil es so ein Basis-Funktionalität ist. Danach schau ich da nicht mehr rein.

    Ich wollte das jetzt nicht einfach machen nach dem Motto "try makes you smart". Zu große "Angst" dass ich mein "zu Hause" zerschieße.

    Synchronisiere NIE in der Hue-App mit HomeKit. Das geht schief! Egal, was dir die Hue-App erzählt, lass es. Es ist auch nicht notwendig.

    Jap, die curl läuft.

    Das ist schonmal cool. Was passiert denn, wenn du das ausführst? Du bekommst du bestimmt eine Antwort zurück.

    2021-02-01T12:12:44.863 hyperiond HTTPJSONRPC : <ERROR> Failed to parse json data from JsonRpc@::ffff:IP: Error: illegal value at Line: 0, Column: 0

    Für mich schwer zu deuten, da ich von Hyperion null Plan habe. Was ich da lese heißt für mich, dass sich hyperiond beklagt. Offenbar läuft auf dem Raspi eine Serversoftware namens hyperiond, die da irgendwas steuert. Ich rate mal weiter und denke, dass sie in deinem Request kein (valides) JSON findet: Error: illegal value at Line: 0, Column: 0. Hört sich albern an, dass sich in Zeile 0 deines Requests und dort in Zeile 0 ein illegaler Wert befindet, aber Programmierer fangen nun mal gern bei 0 an zu zählen.


    Das kann bedeuten:

    • da ist gar nichts angekommen, weil der JSON-String unterschlagen wurde. Hmmm, vielleicht.
    • der JSON-String ist falsch. Wahrscheinlicher. Immerhin sind in deiner Homebridge-Konfiguration eine Menge Ticks (') statt Anführungszeichen (") drin - in dem curl-Befehl ist das anders!

    Um das du validieren, müsste man den curl-Befehl so schreiben, wie du das in deiner Homebridge-Konfiguration gemacht hast und sieht dann, was der Server antwortet, also:


    curl -X POST -H 'Content-Type: application/json' -d "{'command': 'effect','effect': {'name': 'MyKnight'},'priority': 1,'origin': 'My Fancy App'}" http://IP:PORT/json-rpc

    Logs mitlesen hilft enorm. Vielleicht steht ja auch ein Hinweis im Homebridge-Log.

    Wie komme ich denn nun zu meinem Kurzbefehl?


    Kurzbefehle kann ich nicht. Ich verstehe sie einfach nicht. Ich bin zu blöd dafür. Was du grundsätzlich tun musst, ist wie oben beschrieben, eine URL zu erzeugen wie

    https://192.168.178.5/api/CXpXYZfGUFNaIkK7geheimBlUCKDG42xyzAAjxir/sensors/104/config


    und diese mit einem Kurzbefehl aufzurufen (Inhalte von URL abrufen). Zusätzlich musst du die Methode POST verwenden und Code zum Aktivieren/Deaktivieren des Sensors an diese URL senden. Das geschieht über den Header. Schlüssel ist on und Text ist true und Haupttext anfordern ist wohl JSON.


    (Wenn ich das überhaupt alles richtig verstehe. WTF ist Haupttext anfordern? Warum heißt das Text und nicht Wert? Apple hat es geschafft, dass aber auch niemand mehr aus dem Krempel schlau wird, weder Anfänger noch Experten).


    Groß- und Kleinschreiben ist hier keine Zier! Versuchs mal.

    bei dem Punkt

    [Ikea Gateway] Loading groups and scenes...

    hängt der Server leider schon und die Home-App reagiert dann auch nicht mehr.

    Hast du mal Please add [Main] manually in Home app. Setup Code: 243-47-462 gemacht?

    Gibt es die Möglichkeit, Definitionen in der Konfiguration "auszukommentieren"?

    Nein, das erlaubt JSON blöderweise nicht.

    Trotzdem ich mit einem Mac arbeite, führt nach meiner Erfahrung "copy and paste" zu ungewollten Effekten.

    Ich kopiere und paste hier wie ein Wilder und habe sehr selten hässliche Effekte.

    Mir ist aufgefallen, dass rein kopierte Definitionen in der Konfiguration beim "Syntaxhighlightning" richtig sind aber im Jsonformatter alles rot vor Fehler ist. =O

    Das verstehe ich nicht.