Vielen Dank für die Antwort, leider geht das nicht, da die IP Adresse vom ESP32 192.168.0.105 ist.
Beiträge von Brocki
-
-
Moin, ich möchte gerne mehrere Lampen an einem ESP32 betreiben. 1 Neopixel-Streifen und 4 weitere Lampen, bei denen ich nur die Helligkeit einstellen möchte. Auf der Suche nach einem Plug-in für meine Homebridge bin ich auf das Plug-in "better-http-rgb" gestoßen. Dort habe ich zuerst den Neopixel-Streifen hinzugefügt, dies funktioniert auch alles wunderbar, ich kann die Farben über HomeKit steuern und diese werden an den ESP übertragen, wo ich diese auslesen kann. Jetzt möchte ich gerne weitere Lampen hinzufügen, wo ich nur die Helligkeit ändern und diese auch an/aus-schalten möchte. Jetzt ist meine Frage, wie muss ich den Code umschreiben, dass ich mehrere Lampen über HomeKit steuern kann, so dass die eingestellten Daten an meinen ESP32 gesendet und dort ausgelesen werden können? Ich möchte nachher die Helligkeitswerte in ein PWM Wert umrechenn und dann über einen belibigen Pin am ESP ausgeben.
Könnte mir eventuell einer erklären, was ich beim Code der Homebridge und beim Code vom ESP32 ändern muss, damit ich mehrere Lampen steuern kann?
Code Homebridge:
Code
Alles anzeigen{ "accessory": "HTTP-RGB", "name": "RGB Strip", "service": "Light", "switch": { "status": "http://192.168.0.105/status", "powerOn": "http://192.168.0.105/on", "powerOff": "http://192.168.0.105/off" }, "brightness": { "status": "http://192.168.0.105/bright", "url": "http://192.168.0.105/set/%s" }, "color": { "status": "http://192.168.0.105/color", "url": "http://192.168.0.105/set/%s", "brightness": true } }Code ESP32:
Code
Alles anzeigenWiFiClient client = server.available(); if (!client) { return; } while (client.connected() && !client.available()) { delay(1); } //Respond on certain Homebridge HTTP requests if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); if (readString.length() < 100) { readString += c; } if (c == '\n') { Serial.print("Request: "); //Uncomment for serial output Serial.println(readString); //Uncomment for serial output //Send reponse: client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); //On: if (readString.indexOf("on") > 0) { // setHex(); // showValues(); } //Off: if (readString.indexOf("off") > 0) { // allOff(); // showValues(); } //Set color: if (readString.indexOf("set") > 0) { hexString = ""; hexString = (readString.substring(9, 15)); // setHex(); // showValues(); } //Status on/off: if (readString.indexOf("status") > 0) { client.println(state); } //Status color (hex): if (readString.indexOf("color") > 0) { client.println(hexString); } //Status brightness (%): if (readString.indexOf("bright") > 0) { // getV(); client.println(V); } delay(1); while (client.read() >= 0); //added: clear remaining buffer to prevent ECONNRESET client.stop(); readString.remove(0); } } } } -
Vielen Dank für den Hinweis mit dem mobilen Router. Habe mich darüber etwas informiert und bin auf einen Router mit WISP gestoßen. Den Router kann man z.B. verwenden, wenn man im Urlaub ist und im WLAN nur ein Gerät erlaubt ist. So kann der Router mit dem normale Hotel WLAN verbunden werden und danach können beliebig viele Geräte mit dem WLAN verbunden werden.
Ich hab mir einen WISP Router für 20€ bei Amazon gekauft (TP-Link TL-WR802N), den mit dem öffentlichen WLAN verbunden und danach den PI und das Handy mit dem neu erstellten WLAN. Danach konnte ich die Bridge ohne Probleme hinzufügen und meine Geräte über Homekit/Siri steuern.
-
Die Befürchtung kommt mir auch so langsam.
Ich wollte die Homebridge bei mir auf dem Boot einrichten, wo ich das Licht und zusätzliche Sensoren angezeigt bekomme.
Hier habe ich leider nur ein öffentliches WLAN zur Verfügung, welshalb ich darauf zurückgreifen wollte.
-
Das habe ich auch schon veruscht, leider ohne erfolg. Mir wurde da die Bridge nicht angezeigt

-
Moin,
ich habe soeben die Homebridge auf meinem Pi3 erfolgreich installiert.
Nun möchte ich gerne die Homebridge mit Homekit verbinden, wenn ich aber den Code, welcher von Homebridge generiert wurde, scanne, kommt nach einer gewissen Zeit die Fehlermeldung, dass das Gerät nicht gefunden werden konnte.
Wenn ich den Code scanne, wird mir danach auch gleich angezeigt, dass es sich hierbei um eine Bridge handelt.
Der RPi und mein Handy befinden sich beide im gleichen WLAN.
Wobei es sich bei diesem WLAN um ein öffentliches WLAN handelt.
Könnten die Verbindungsprobleme durch das öffentliche WLAN vorgerufen werden oder liegt das Problem woanders?
Installiert habe ich die Bridge nach der Anteilung hier im Forum, wobei ich mir die Desktopvariante geholt habe, da ich zum Verbinden mit dem WLAN, die AGBs akzeptieren musste. Und anstatt der SSH Verbindung, habe ich direkt mit der Konsole programmiert.
Über die IP des RPi mit dem Port 8080, kann ich auch auf die Homebridge zugreifen.
Kennt einer von euch sich damit aus und kann mir bei meinem Problem auf die Sprünge helfen?
Vielen Dank schonmal!
-
Moin,
ich würde gerne meinen PI mit einem öffentlichen WLAN verbinden.
Ich habe es mit dem folgenden Code schon versucht, aber leider nicht geschafft.
Muss ich beim öffentlichen was anderes beachten, als bei meinem WLAN Zuhause?
Bzw. weiß einer wie ich mich mit meinem PI in das öffentliche WLAN einloggen kann?
LG Brocki
-
Moin,
ich habe den MSS510XEU Lichtschalter von MEROSS zu meiner Homebridge hinzugefügt. Nach anfänglichen Schwierigkeiten mit dem Lichtschalter, hat schlussendlich alles funktioniert. Jetzt habe ich das MEROSS Plugin in der Homebridge geupdatet und kann den Lichtschalter nicht mehr über Homebridge steuern. Über die MEROSS App funktioniert das jedoch. Hier ist der Auszug vom .json Code:
Code{ "model": "MSS510", "name": "Zimmerlicht", "deviceUrl": "http://192.168.178.83", "channel": 0, "messageId": "ea3a20d62868f6c709b6e1b8aeab1xxx", "timestamp": 1586213xxx, "sign": "8df716b9c2e8063287e8d5d441607xxx", "accessory": "Meross" }Die messageID, timestamp und sign habe ich irgendwann mal irgendwo aus dem Internet gefunden.
Weiß einer von euch warum ich meinen Lichtschalter über Homekit nicht mehr ansteuern kann?
Habs hinbekommen. Habe bei der deviceUrl anstatt http://192.168.178.83 --> 192.168.178.83 in die config geschrieben und jetzt klappt wieder alles

-
Ich wollte den Pi als Alarmanlage im Boot benutzen. Im Hafen habe ich WLAN und Festlandstrom. Wenn ich aber mal rausfahren will, bin ich nicht mehr mit dem Stromnetz verbunden und deshalb wäre es schön, wenn ich beim rausfahren den Pi vom Stromnetz trenne, ohne das was "kaputt" geht, da ich ihn auf dem Wasser nicht benötige. Aber dann werde ich ihn wohl über einen DC/DC Wandler an meine Autobatterie anschließen.
Vielen Dank für eure Hilfe

-
Ich zieh einfach die Stromversorgung. Weil im späteren Betrieb kann ich nicht mehr so einfach irgendwelche Befehle auf dem Pi ausführen, da dieser sich dann nicht mehr in der Wohnung befindet.
-
Ok, habe die Befehle nochmal über die ssh Verbindung am Pc ausgeführt (
sudo systemctl stop homebridge
sudo rm -rf /var/homebridge/node-persist/storage/c9ae01c274bfb3d61d191699747b1f42
sudo systemctl start homebridge).
Jetzt wurden diese auch angenommen und die Homebridge funktioniert wieder. Das Problem, dass sie nach dem kurzen entfernen der Spannungsversorgung wieder nicht startet, besteht aber weiterhin.
Es wird immer wieder die gleiche Fehlermeldung ausgegeben:
Code
Alles anzeigen[1/22/2020, 17:00:10] Error: [PARSE-ERROR] /var/homebridge/node-persist/storage/6fa6149f73dba66bcb0cfbe76fde5a94 does not look like a valid storage file! at LocalStorage.parseFileSync (/usr/local/lib/node_modules/homebridge-http-webhooks/node_modules/node-persist/src/local-storage.js:647:19) at LocalStorage.parseStorageDirSync (/usr/local/lib/node_modules/homebridge-http-webhooks/node_modules/node-persist/src/local-storage.js:596:26) at LocalStorage.initSync (/usr/local/lib/node_modules/homebridge-http-webhooks/node_modules/node-persist/src/local-storage.js:141:14) at Object.nodePersist.initSync (/usr/local/lib/node_modules/homebridge-http-webhooks/node_modules/node-persist/src/node-persist.js:37:32) at new HttpWebHooksPlatform (/usr/local/lib/node_modules/homebridge-http-webhooks/index.js:55:16) at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:337:32) at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36) at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10) at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22) at Module._compile (internal/modules/cjs/loader.js:959:30) [1/22/2020, 17:00:10] Got SIGTERM, shutting down Homebridge... homebridge.service: Main process exited, code=exited, status=143/n/a homebridge.service: Failed with result 'exit-code'. Stopped Node.js HomeKit Server. Started Node.js HomeKit Server. homebridge.service: Main process exited, code=killed, status=15/TERM homebridge.service: Succeeded. Started Node.js HomeKit Server.Wisst ihr vielleicht einen Weg, um nicht nach jedem Neustart, wenn die Spannungsversorgung kurz weg war, die Befehle über die ssh Verbindung neu einzugeben?
-
Ja hoffentlich bekommt man das noch irgendwie gefixt, hab jetzt die Homebridge schon 4x neu aufgesetzt

Ja genau über die Homebridge App, weil über die ssh Verbindung mit dem Pc war die Verbindung leider immer so schlecht und über die App funktioniert das super.
Was meinst du mit den Terminal-Befehlen?
-
-
Code
sudo systemctl stop homebridge sudo rm -rf /var/homebridge/node-persist/storage/c9ae01c274bfb3d61d191699747b1f42 sudo systemctl start homebridgeAber egal ob ich -rf davor schreibe oder nicht, es kommt leider immer die Fehlermeldung(-bash: sudo: command not found). Aber auch erst seitdem ich dieses Verzeichnis habe (/var/homebridge/node-persist/storage/c9ae01c274bfb3d61d191699747b1f42)
Davor konnte ich diese Datei mit dem Befehl löschen.
-
Das habe ich probiert, aber dann kommt die Fehlermeldung: -bash: sudo: command not found
Diese Fehlermeldung kommt aber auch, wenn ich kein -rf davor packe

-
Hab jetzt
Codesudo rm -rf /var/homebridge/accessories/cachedAccessories sudo npm uninstall -g homebridge-http-webhooks --unsafe-perm sudo npm install -g homebridge-http-webhooks --unsafe-permeingegeben. Webhooks wurde danach deinstalliert und wieder installiert, aber leider kommt immer noch die gleiche Fehlermeldung

-
Moin, ich habe auf meinen Pi die Homebridge, nach der Anleitung dieses Forums, installiert. Jetzt hab ich aber immer ein kleines Problem und zwar wenn ich die Stromversorgung vom Pi kurz trenne und ihn damit wieder Verbinde, läuft die Homebridge nicht mehr. Es wird folgender Fehler angezeigt
Es sind folgende Plugins installiert:
-camera-rpi
-config-ui-x
-http-switch
-http-webhooks
-magichome
Meine Config:
Code
Alles anzeigen{ "accessories" : [ { "accessory" : "HTTP-SWITCH", "statusUrl" : "http://boot/lichtstatus", "onUrl" : "http://boot/lichtan", "name" : "Seitenlicht", "offUrl" : "http://boot/lichtaus", "switchType" : "stateful" }, { "accessory" : "HTTP-SWITCH", "statusUrl" : "http://boot/Alarmanlagestatus", "onUrl" : "http://boot/Alarmanlageein", "name" : "Alarmanlage", "offUrl" : "http://boot/Alarmanlageaus", "switchType" : "stateful" }, { "accessory" : "MagicHome", "purewhite" : false, "name" : "Aquariumlicht", "ip" : "192.168.178.77", "setup" : "RGBWW" } ], "bridge" : { "username" : "CC:22:3D:E3:CE:31", "name" : "Homebridge", "pin" : "031-45-154", "port" : 51826 }, "platforms" : [ { "sensors" : [ { "id" : "sensor1", "name" : "Alarm Sensor", "type" : "contact" }, { "id" : "sensor2", "name" : "PIR Sensor", "type" : "motion", "autoRelease" : false } ], "webhook_port" : 51828, "cache_directory" : "/var/homebridge/node-persist/storage", "platform" : "HttpWebHooks", "lights" : [ { "id" : "light1", "name" : "LED" } ] }, { "platform" : "rpi-camera", "cameras" : [ { "horizontalFlip" : false, "id" : "Pi Camera", "name" : "Pi Camera", "rotate" : 0, "verticalFlip" : false } ] }, { "port" : 8080, "sudo" : true, "platform" : "config", "temp" : "/sys/class/thermal/thermal_zone0/temp", "restart" : "sudo -n systemctl restart homebridge", "theme" : "red", "auth" : "form", "log" : { "command" : "journalctl -o cat -n 500 -f -u homebridge", "method" : "custom" }, "name" : "Config" } ] }Ich habe es auch schon mit dem Befehl versucht:
Codesudo systemctl stop homebridge sudo rm /var/homebridge/node-persist/storage/c9ae01c274bfb3d61d191699747b1f42 sudo systemctl start homebridgeDies hat bei den ersten Malen geklappt, aber leider funktioniert dieser nicht mehr. Und ich möchte auch nicht nach jedem Neustart es Pis diesen Befehl eingeben.
Davor waren die Fehlermeldungen in folgenden Verzeichnissen:
/var/homebridge/node-persist/storage/02cd4fe784b3f076c3f3f202f42093f6
/var/homebridge/node-persist/storage/6fa6149f73dba66bcb0cfbe76fde5a94
Weiß einer eventuell woran das liegen könnte?
-
-
Nach dieser Anleitung: Smartapfel Homebridge.
Code
Alles anzeigen{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:31", "port": 51826, "pin": "031-45-154" }, "description": "Home Smart Home", "platforms": [ { "platform": "config", "name": "Config", "port": 8080, "auth": "form", "theme": "red", "restart": "sudo -n systemctl restart homebridge", "temp": "/sys/class/thermal/thermal_zone0/temp", "sudo": true, "log": { "method": "custom", "command": "journalctl -o cat -n 500 -f -u homebridge" } } ], "accessories": [] } -
Jetzt bin ich etwas verwirrt. Und zwar habe ich meinen Pi komplett neu aufgesetzt und Homebridge neu installiert, so wie es in der Anleitung stand. Habe dann mit der Homebridge App für iOS, die Fehlerbehebung gestartet (Debuggen). Dies habe ich bei meinen anderen Versuchen davor genauso gemacht. Wenn ich jetzt unter 192.168.178.68:8080/logs, mir die Protokolle ansehe, kommt wieder der Fehler (Ich habe keine weiteren Plugins installiert, nur homebridge-config-ui-x):
[12/17/2019, 16:04:43] Error: listen EADDRINUSE: address already in use :::51826
at Server.setupListenHandle [as _listen2] (net.js:1301:14)
at listenInCluster (net.js:1349:12)
at Server.listen (net.js:1437:7)
at EventedHTTPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/eventedhttp.js:60:19)
at HAPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:158:20)
at Bridge.Accessory.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:616:16)
at Server._publish (/usr/local/lib/node_modules/homebridge/lib/server.js:132:16)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:101:10)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
In der Fritzbox habe ich keine extra Ports freigeschaltet, weil ich nicht genau weiß, was ich da genau einstellen kann. Wenn ich unter Freigabe anlegen gehe, muss ich einmal die Anwendung und das Protokoll angeben. Ich weiß aber nicht, welche Anwendung und welches Protokoll ich auswählen soll. Es steht bei der Anwendung zur Verfügung:
FTP-Server
HTTP-Server
HTTPS-Server
eMule
MS Remotedesktop
Andere Anwenungen
Bei den Protokollen kann ich angeben:
TCP
UDP
ESP
GRE
Bei den Ports würde ich dann jeweil den Port freigeben, welchen ich im Programm ausgewählt habe. Wenn ich alle Ports von 0 bis 65535 freigebe, ist nicht empfehlenswert oder?
Oder liegt mein Problem woanders?