Beiträge von hyxamp

    septine

    Was möchtest du denn überhaupt machen? Im Moment scheint doch die Portfreigabe und die Fritzbox zweitrangig zu sein, da du dich ja in deinem Heimnetz befindest (schließe ich mal daraus weil du sagtest, es geht ohne Portfreigabe). Mich wundert allerdings, dass du einen Button und einen Sensor erwähnst.


    Möchtest du etwas Schalten oder etwas auslesen?

    Ich habe mein Problem übrigens gelöst. Irgendwo ist tatsächlich der Wurm drin und es waren zwei "Fehler" in der Programmierung des ESP..


    Zum einen hatte mich gestern schon folgende Fehlermeldung beschäftigt:


    Code
    finished with status code '-1' and body 'undefined'. Error: read ECONNRESET


    Hieß für mich: Webseite ist zwar da, besitzt aber keinen Inhalt (wusste nicht das es zum schalten von Relais relevant wäre). Allerdings hatte ich das gestern bereits schon berücksichtigt und der Seite nach dem Schaltvorgang einen entsprechenden Inhalt verpasst. Das zweite Problem war die statische IP des ESP. Sobald ich unseren Router als DNS eintrage, bekomme ich zwar meine statische Addresse (kann diese auch über den Webbrowser aufrufen), erhalte habe eine Fehlermeldung beim Schalten über die Home App.. Lasse ich den DNS Server einfach frei, bekomme ich trotzdem meine feste IP und es funktioniert plötzlich. Das in dem Zusammenhang mit der inhaltslosen Webseite war gestern wohl nicht so einfach zu knacken. Jetzt läuft alles und ich kann endlich richtig loslegen.


    Viele Grüße

    Arbeitest du mit einem ESP? Es handelt sich blos um einen Sensor, dh. in der APP wird nur angezeigt ob der Kontakt offen oder geschlossen ist?


    Falls du mit dem ESP arbeitest, musst du den Zustand des Sensors im Sketch konfigurieren. Sobald er offen/geschlossen ist schickst du ein update an den Schalter bzw. Homebridge Server:


    http://yourHomebridgeServerIp:webhook_port/?accessoryId=theAccessoryIdToTrigger&state=NEWSTATE


    In meinem Fall wäre es also:

    http://192.168.2.200:51828/?accessoryID=sensor1&state=true

    oder

    http://192.168.2.200:51828/?accessoryID=sensor1&state=false


    Das müsstest du wie gesagt in deinem Sketch verarbeiten, ich kann dir da aber nur weiter helfen, falls du tatsächlich einen ESP oder ähnliches verwendest.

    Guten Morgen,


    das webhooks plugin ist abgesehen von dem webinterface bisher das einzige Plugin, welches ich installiert habe (seit gestern Abend auch den http-switch). Wir haben einen Speedport router der Telekom.. Ich glaube langsam auch das es irgendwie damit zusammenhängt, denn mir ist auch aufgefallen, dass die interne dns Auflösung nicht mehr funktioniert. Allerdings weis ich auch nicht, wie lange schon.. Ich wollte gestern nDNS auf dem ESP einbinden um diesen über einen Namen, statt einer IP anzusprechen.. Das hat nicht geklappt, denn wenn ich die Adresse anpinge erhalte ich: "unable to resolve host". Das Problem besteht auch, wenn ich "speedport.ip" in den Browser eintippe. Da ich es früher nie genutzt habe, weis ich wie gesagt auch nicht, wie lange es schon nicht geht (oder ob es überhaupt mal ging). Ich könnte mir vorstellen das es irgendetwas mit PiHole zu tun hat und konnte auch einen entsprechenden Vermerk in der Konfiguration finden. Leider hat eine Anpassung diesbezüglich auch nichts gebracht. Nun bereite ich gerade eine zweite SD karte für den Raspberry vor (ohne Pi Hole), auf der erstmal nur die Homebridge drauf kommt. Dann werde ich mich wohl mal um den Router kümmern müssen.


    Mit Arduino kenne ich mich tatsächlich ganz gut aus, Hardwareentwicklung ist sogar mein Beruf.. Bei Software (mal abgesehen von Arduino) und Netzwerken bin ich allerdings raus, Raspberry ist tatsächlich Neuland für mich. Ich habe vor einigen Jahren mal das Ambilight für den TV nachgebaut, seitdem läuft das und wurde nie wieder angefasst. Im Moment habe ich allerdings etwas Zeit um mir neue Dinge anzueignen, bin also gespannt wie es weiter geht!


    Viele Grüße

    Ich habe es jetzt doch noch mit dem Switch Plugin probiert und erhalte genau den selben Fehler:


    Code
    [2019-11-30 1:48:31] [Switch] getStatus() failed: read ECONNRESET


    Nun bin ich wirklich ratlos. Wenn ich die Adresse zum Schalten des Relais in den Webbrowser eingebe, funktioniert es. Nur im Zusammenhang mit der Bridge will es nicht klappen.


    So langsam denke ich wirklich das es ein Netzwerkproblem gibt. Ist es relevant, dass PiHole noch auf dem Raspberry läuft?

    Hallo Kohle,

    Genau, der Schalter spricht den Webserver meines ESP an und schaltet ein Relais. Das funktioniert wie gesagt eigentlich auch bis zu einem gewissen Grad: Sobald ich den Schalter betätige, zieht das Relais an, in der App fällt der Schalter (mit entsprechender Fehlermeldung) allerdings in die Ausgangsposition zurück. Irgendwie scheint es Kommunikationsprobleme zwischen der Homebridge und dem ESP zu geben und ich weis nicht, welches von beiden dafür verantwortlich ist. Darüber hinaus schalte ich dieses Relais über einen konventionellen Taster. Die Betätigung wird registriert und der Schalter in der App entsprechend angepasst. Dafür hatte ich bereits ein Thema geöffnet und du hast mich zu webhooks geführt :) Das funktioniert wiederum sehr gut!


    Nach einem alternativen Plugin habe ich mich auch bereits umgesehen und werde morgen eventuell das von dir verlinkte ausprobieren. Wenigstens gibts es in der readme eine Erläuterung zu dem push und pull Prinzip, das hatte mir bei webhooks ein wenig gefehlt. Vielleicht sollte ich mich dann doch nochmal damit auseinander setzen, wobei ich aufgrund der Fehlermeldung denke, dass es am ESP liegen könnte.


    Viele Grüße

    Nun hänge ich schon wieder und finde nach stundenlanger Recherche einfach keine passende Lösung. Inzwischen läuft webhooks bei mir und ich habe mein ESP8266 eingebunden. Der entsprechende Schalter erscheint in meiner Home App.. Diesen kann ich auch betätigen und zwar ganz genau ein Mal. Dann erhalte ich einen Fehler und der Schalter springt in seine Ausgangsposition zurück. Der ESP hat aber geschalten, die Kommunikation klappt also in gewisser Weise. Wenn ich in die Homebridge Logfile sehe, erscheint folgendes:


    Code
    Nov 29 22:36:32 Raspberry homebridge[22224]: [2019-11-29 22:36:32] [HttpWebHooks] Getting current state for 'switch1'...
    Nov 29 22:36:35 Raspberry homebridge[22224]: [2019-11-29 22:36:35] [HttpWebHooks] Switch state for 'switch1'...
    Nov 29 22:36:36 Raspberry homebridge[22224]: [2019-11-29 22:36:36] [HttpWebHooks] Request to 'http://192.168.2.201/light=false' finished with status code '-1' and body 'undefined'. Error: read ECONNRESET
    Nov 29 22:36:36 Raspberry homebridge[22224]:     at TCP.onStreamRead (internal/stream_base_commons.js:201:27) {
    Nov 29 22:36:36 Raspberry homebridge[22224]:   errno: 'ECONNRESET',
    Nov 29 22:36:36 Raspberry homebridge[22224]:   code: 'ECONNRESET',
    Nov 29 22:36:36 Raspberry homebridge[22224]:   syscall: 'read'
    Nov 29 22:36:36 Raspberry homebridge[22224]: }


    Soweit ich das richtig verstanden habe, beschreibt die Fehlermeldung einen abrupten Abbruch des ESP. Allerdings wüsste ich jetzt absolut nicht, was ich im Quelltext des ESP ändern sollte, ich kann einfach nichts finden. Oder liegt es etwa an der config.json? Dort hat sich seit meinem letzten Beitrag nicht viel geändert:



    In dem Beispiel-Code von webhooks sind noch einige weitere Optionen aufgeführt, zB:


    Code
    "on_method": "GET", // (optional)
    "on_body": "{ \"on\" : true }", // (optional only for POST and PUT)
    "on_headers": "{\"Authorization\": \"Bearer ABCDEFGH\", \"Content-Type\": \"application/json\"}", // (optional)

    Habe ich hier noch etwas zu beachten? Einiges habe ich bereits ausprobiert (on_method: post), leider ohne Erfolg.


    Habt ihr vielleicht eine Idee?

    Soo.. ein letztes Mal noch, dann hab ich erstmal alles zusammen und kann so richtig loslegen ;)


    Wir haben damals (vor 15 Jahren) in unserer bestehenden Hauselektronik alles mit Tastern, 24V und Stromstoßrelais ausgestattet. In den nächsten Tagen möchte ich alles ein wenig smarter machen, ohne dabei großartig etwas an der Hardware zu verändern. Zur Umsetzung habe ich mir in den letzten Zeit Gedanken gemacht, viel gelesen und auch das eine oder andere Mal einen kleinen Denkanstroß von euch erhalten. Neben den Stromstoßrelais für einzelne Lampen, besitzen wir noch 3 oder 4 Dimmer (auf Hutschiene), welche ich ebenfalls in der Homebridge einbinden möchte. Diese funktionieren wie folgt:


    - 1x Tasten: an

    - Lange drücken (heller/dunkler)

    - 1x Tasten: aus


    Natürlich liefern die Relais keinen Ausgabewert um die Helligkeit in irgendeiner Weise exakt bestimmen zu können. Ich weis zwar wie lange es dauert (bzw. kann die Geschwindigkeit auch im Relais einstellen), um ausgehend von der minimalen die maximale Helligkeit zu erhalten und dementsprechend etwas programmieren.. Allerdings bleiben die physischen Taster weiterhin bestand unserer Hauselektronik, was sich dann mit der Software in gewisser weise nur schwer vereinbaren lässt. An -und Aus Status der Lampe werde ich abfragen können, das dimmen aus verschiedenen Gründen aber nicht. Daher kann ich Siri auch nicht sagen: "dimme das licht auf 80%).. Spielt für mich auch keine große Rolle. Was ich jetzt also suche ist ein Plugin, welches die Funktionalität meines physischen Tasters ersetzt, sprich:


    -1x kurz drücken: der ESP8266 schaltet ein Relais, welches wiederum für 200ms das Dimmrelais mit 24V versorgt und die Lampe an schaltet

    -1x lang drücken und halten: der ESP8266 schaltet das Relais so lange, bis der Finger vom Smartphone genommen wird (Licht wird entsprechend hell oder dunkel)

    -1x kurz drücken: der ESP8266 schaltet ein Relais, welches wiederum für 200ms das Dimmrelais mit 24V versorgt und die Lampe aus schaltet


    Ich habe bereits einige Plugins gefunden, diese funktionieren aber nur mit Fader (setzt ja in gewisser Weise den Status der Lampe voraus).. Eine Art Push-Button mit den von mir gewünschten Funktionen fehlt mir aber noch. Das Plugin sollte ebenfalls über die Möglichkeit zur Ansteuerung via Webserver verfügen. Vielleicht hat ja jemand eine Idee oder bereits ähnliches umgesetzt?


    Viele Grüße



    Nachtrag:

    Ich habe gerade gesehen, dass das webhooks plugin einen stateless switch mit long press Funktion beinhaltet. Werde es mal zeitnahe ausprobieren, vielleicht ist das ja bereist die Lösung.

    Vielen Dank, hat mir sehr weiter geholfen. Jetzt funktioniert es!


    Erschreckenderweise ist der von dir verlinkte Beitrag noch gar nicht so alt, tut mir leid das ich ein neues Thema diesbezüglich eröffnet und nicht die Suchfunktion genutzt habe.

    Hallo,

    ich habe mich heute mal ein wenig mit webhooks beschäftigt und wollte ursprünglich mit Homebridge ein paar Befehle an einen Webserver senden. Das plugin ließ sich problemlos installieren (habe es auch inzwischen deinstalliert und neu installiert) und mit meiner config.json sollte auch alles stimmen (habe sie jedenfalls mit JSNONLint geprüft und konnte auch selbst keinen Fehler feststellen).



    Jetzt wollte ich über das webhooks plugin den ersten Sensor einbinden und zumindest das Abspeichern über das Webinterface scheint problemlos zu funktionieren. Falls mal ein Komma fehlt, schimpft ja an dieser Stelle bereits die GUI. Nach einem Neustart hängt sich homebridge allerdings auf, mit folgender Bemerkung in den LOGs:



    Besonders diese Zeile ist mir ins Auge gesprungen:


    Code
    Nov 29 16:40:32 Raspberry homebridge[13357]: [2019-11-29 16:40:32] Error: EACCES: permission denied, mkdir '/.node-persist'


    Kann es sein, dass an irgendwelche Stelle die Zugriffsrechte fehlen? Leider kenne ich mich noch nicht gut genug mit Raspberry aus, um irgendwelche schlauen Schlüsse daraus zu ziehen und hoffe ihr könnt mir weiterhelfen?


    Viele Grüße

    Hallo,

    ich bin neu in Sachen Homebridge, habe allerdings auch mittlerweile mein erstes kleines Projekt umsetzen können.

    Gestern ist mir in der Home-App eine Automation aufgefallen, welche auslöst, sobald das Haus verlassen wird.


    Ich habe mich noch nicht damit beschäftigt, hätte aber bedenken dass es mit meinem Vorhaben auf diese Art funktioniert. Ich nehme an die Automation löst über die Standortfreigabe des Smartphones aus?


    Meine Frau hat allerdings kein Iphone und wie es bei ihr auf dem Smartphone mit der Standortfreigabe aussieht, weis ich auch nicht. Jedenfalls dachte ich das es ganz nett wäre, wenn diese Automation dann aufgerufen wird, wenn wir beide kein Wlan - Signal mehr empfangen und sich mein Iphone zusätzlich außerhalb eines gewissen Radius vom Haus befindet. Dann könnte ein Timer ablaufen und irgendetwas schalten. Der Timer deshalb, da die Automation bei einer Abwesenheit von weniger als eine Stunde nicht ausgelöst werden brauch (z.B. bei eine Gassirunde mit dem Hund).


    Sobald dann einer von uns beiden wieder im Wlan ist, schaltet die Automation erneut. Hat jemand eine Idee wie sich das umsetzen lassen könnte? Falls es in irgendeiner Weise hilfreich sein könnte (in Bezug auf auf das Erfassen der Endgeräte im Netzwerk), bei mir läuft neben der Homebridge noch der Unifi Controller auf dem Raspberry. Der Controller wäre in der Lage Benachrichtigungen zu verschicken, sobald sich ein Endgerät an -oder abmeldet.. Also nur für den Fall das es nützlich sein könnte.


    Viele Grüße



    Edit: Mit festen IPs beider Smartphones und einer Art Ping-Abfrage sollte das doch relativ einfach sein?

    Hallo Kohle_81,

    vielen Dank für deine Antwort! Ich glaube mit dem Webhooks-Plugin könnte das tatsächlich was werden. Natürlich muss ich mich da auch erst wieder richtig einarbeiten, habe diesbezüglich aber ein ganz interessantes youtube video gefunden. In diesem werden Kontaktsensoren verwendet, dessen Zustandsänderungen live in der Home-App angezeigt werden. So in etwa geht das also schon in die richtige Richtung. Vielen Dank!

    Hi,

    ich habe das bereits vor 4 Jahren bei mir eingebaut. Klappt super und war wirklich unkompliziert.


    Mein Setup:

    - 1x Netzteil für LED Stripe und Raspberry

    - 1x HDMI Switch (für mehrere HDMI Quellen: Xbox, Receiver, Apple TV)

    - 1x HDMI Splitter

    - 1x HDMI zu AV Wander

    - 1x Video Grabber

    - 1x Raspberry Pi

    - 3m WS2801


    Sofern der Raspberry mit deinem Netzwerk verbunden ist, kannst du über Hyperion ebenfalls das Licht deines Stripes steuern. Hab mal 5 Bilder vom Aufbau drangehangen.. Auf dem letzten Bild sind die drei HDMI Quellen noch nicht am Switch angeschlossen. Der hat übrigens ein Infrarot-Empfänger, mit ein bisschen Arbeit konnte ich diesen dann auch einfach von meiner Fernbedienung steuern. Der HDMI Eingang vom TV musste also nicht mehr entsprechend der Quelle geändert werden, sondern wurde direkt über einen Tastendruck auf der Fernbedienung am Switch geändert.

    Ursprünglich war der Gedanke ein Funksender anzuschließen, um eine Funksteckdose schalten zu können. Dafür wollte ich das RCSwitch plugin installieren, hat aber nicht funktioniert (und ich scheine nicht der Einzige zu sein, bei dem es nicht mehr klappt). Daher habe ich ein einfaches Skript geschrieben, welches den GPIO 0 des Raspberry auf high oder low schaltet. Alles wunderbar. Ausgeführt wird dieses Skript mit dem "Homebridge CMD - Plugin", es ist quasi blos ein einfacher sudo Befehl mit dem jeweiligen Übergabewert (0 oder 1) zum aus bzw. an schalten.


    Nun würde ich ganz gerne an einem zweiten GPIO einen Taster anschließen, nach dessen Betätigung ebenfalls das Skript ausgeführt wird und sich die virtuelle Schalterstellung innerhalb der App ändert.


    Das Skript habe ich inzwischen ein wenig geändert und auch den Funksender zum Laufen gebracht (ohne RCSwitch plugin für Homebridge). Dafür gab es hier im Forum ein entsprechendes Thema. Der bereits angesprochene zweite GPIO soll später als Funk-Empfänger fungieren. Natürlich macht das Setup im Moment noch nicht ganz so viel Sinn, denn warum soll ich noch etwas mit einer Funk-Fernbedienung schalten können, wenn ich doch jetzt das Smartphone dafür verwenden kann.. Zukünftig soll der Empfänger aber als Feedback dienen, um mit anderen Geräten kommunizieren zu können. Da wären wir wieder bei dem Beispiel mit dem Licht: dieses soll per App geschaltet werden können, aber auch ganz konventionell mit einem Taster. Sobald der Taster betätigt wird, soll die Homebridge die Statusänderung erfassen und die Schalterstellung innerhalb der App entsprechend anpassen.


    Ich hoffe die Problemstellung ist halbwegs verständlich? Vielleicht ist das ganze auch zu kompliziert gedacht und es gibt bessere/einfachere Vorschläge?


    Viele Grüße

    Hallo Kohle_81,

    ja ich habe vor einer Stunde ein ähnliches Thema erstellt und kurz danach einen Gedankenblitz gehabt, bei dem ich dachte, dass dieser zur Lösung führt. Ich glaube keine Minute später hatte ich das alte Thema schon wieder gelöscht. Wie sich jetzt im Nachhinein herausstellte, hat die Umsetzung leider doch nicht zum Erfolg geführt. Zwischen Erstellung und Löschung des alten Themas ist aber wirklich kaum Zeit vergangen, hatte auch noch keine Antworten sehen können. Tut mir wirklich leid wenn ich deinen Beitrag jetzt ebenfalls gelöscht haben sollte.

    Hallo,

    ich habe seit heute Homebridge auf meinem Raspberry installiert und auch schon die ersten Skripte bzw. Endgeräte über die Home-App steuern können.


    Nun suche ich nach einer Möglichkeit, die Zustände eines Gerätes bei einem externen Event zu ändern. Zum konkreten Beispiel:


    Über GPIO Pin 0 wird eine LED angesteuert. Diese lässt sich über die Home-App bzw. per Sprachbefehlt an -und aus schalten. Auf einen zweiten GPIO Pin hätte ich jetzt gerne einen Schalter, der die gleiche LED schaltet. Dieses Event soll allerdings von der Homebridge erfasst und die Stellung des virtuellen Schalters innerhalb der App ändern. Hat jemand eine Idee wie das funktioniert? Ich denke die Programmierung bezüglich des Schalters und dem leuchten der LED sollte kein großes Problem darstellen, allerdings frage ich mich, wie die Schalterstellung im Bezug auf die App manipuliert werden kann?


    Viele Grüße

    Hallo,

    Ich habe leider genau das selbe Problem und erhalte zum Schluss immer einen Fehler mit exit code 2.

    Auf dem Raspberry Pi 3 läuft Raspbian Buster mit node version 12.13.1. Das web plugin für die Homebridge funktioniert und ich habe auch bereits ein weiteres Plugin getestet, RCSwitch will aber einfach nicht laufen. Hat inzwischen jemand eine Lösung gefunden?


    Viele Grüße