die beispiel.php kommt in /var/www/home, sehe ich das richtig?
Jap ganz genau
Du befindest dich im makesmart-Archiv.
Interne Links und andere interne Verlinkungen auf der Seite sind inaktiv.
die beispiel.php kommt in /var/www/home, sehe ich das richtig?
Jap ganz genau
Alles anzeigenIch habe alles bis hierhin installiert und bin für
die nächsten "Schandtaten" bereit.
War für mich als Noob ein ganz schöner Akt. Aber funktioniert jetzt alles.
Freue mich auf weitere Inputs uns versuche mich bis dahin auch mal selber.
Schön zu hören und vielen Dank für deine Rückmeldung.
Ich habe mir auch mal sehr lange Gedanken machen zu einem Thema das hier auch bald Anwendung findet
Also nicht lange schwafeln, sondern direkt weiter zum nächsten Thema:
PHP-SQL Verbindung herstellen
Nun wie der Titel schon sagt möchte ich heute eine Verbindung per php zu meiner Datenbank aufbauen.
Hierfür habe ich euch eine kleine Funktion geschrieben und in einer Datei in einem Unterordner abgespeichert.
Wir befinden uns also nun in unserem Webverzeichnis und erstellen hier einen Unterordner.
Der genaue Pfad lautet also dann /var/www/home/utils/sql.php
Wie oben beschrieben greife ich per FTP auf das Verzeichnis /var/www/home/ zu und erstelle dort der Ordner und die Datei.
Oder ich mache es schon im Terminal mit nano /var/www/home/utils/sql.php Hierbei wird der Ordner und die Datei direkt erstellt.
Nun zur Datei
In eurem Fall müsst ihr dann einfach in dieser Datei den Inhalt der Strings am Anfang tauschen. Je nachdem wie ihr alles benannt habt.
Es empfiehlt sich einen neuen SQL Benutzer zu erstellen. Das geht sehr einfach in phpmyadmin unter dem Reiter Rechte.
Wir werden diese Datei nun wie professionelle Informatiker als Blackbox verwenden. Also ihr wisst nicht wie sie funktioniert, aber ihr wisst was ihr reinstecken müsst und was ihr raus bekommt.
Naja is ja ganz simpel rein steckt ihr nichts und raus kommt die Verbindung zur Datenbank
Aber was machen wir jetzt damit?
Auch wieder ganz einfach. php liefert uns schon einige Funktionen mit denen wir arbeiten können.
Wir müssen an den Start jeder php Datei in der wir mit den Werten der Datenbank arbeiten möchten einen Import dieser Datei setzen.
Hier mal ein Beispiel:
Wir geben den Pfad zu der sql.php Datei relativ an. Ein . bedeutet das aktuelle Verzeichnis und ../ würde ein Verzeichnis davor bedeuten.
Die Variable sql speichert unsere SQL Abfrage hierzu wird auch über unsere Blackbox Funktion eine Verbindung zur Datenbank aufgebaut.
Die Variable list speichert das Ergebnis der Abfrage als Dictionary. Ein Dictionary ist ähnlich wie eine Liste, nur dass der Index nicht 0,1,2,3,usw. ist sondern ein Key der zugewiesen wird. In diesem Fall der Name der Spalte.
Probiert mal ein wenig damit rum im nächsten Artikel werde ich noch etwas konkreter
Falls es hier Probleme oder Fragen gibt stellt sie gerne hier drunter
Die robots.txt
Heute aus Zeitgründen nur ein ganz kurzer neuer Beitrag.
Es geht um die robots.txt. In der Theorie dient sie dazu den Crawler, also sozusagen den Kartograph für die Websites auf die richtigen Seiten zu lenken.
Da das für uns aber wirklich sehr irrelevant ist nutzen wir die robots.txt dazu, dass unsere spätere Seite und die APIs auf gar keinen Fall auf Google erscheinen.
Das geht wirklich sehr simpel. Wir erstellen eine Textdatei mit dem Name robots.txt in unserem Webverzeichnis und schon überprüfen die Crawler zuerst diese Datei.
Damit die Crawler dann nicht weiter nach Inhalt suchen verbieten wir ihnen einfach den Zugriff auf alles.
Das geht so:
Wirklich sehr simpel und kurz heute
FTP Zugang anlegen
Also weiter gehts mit dem Projekt. Als nächstes machen wir was sehr simples. Wir wollen einen FTP Zugang zu unseren Dateien haben.
Viele System, darunter auch Ubuntu das ich benutze in diesem Projekt erlauben nicht den Login mit root per FTP.
Wir brauchen also einen Benutzer der in diesem Ordner lesen und schreiben kann.
Wichtig bevor wir anfangen mit den Rechten müsst ihr eigenständig einen FTP Dienst installieren. Das ist für die meisten kein Problem, weil in Raspbian und ubuntu schon entsprechende Dienste installiert sein sollten.
Wer den Raspi verwendet kann im folgenden als Lieblingsuser einfach pi verwenden. Dieser Nutzer hat nämlich schon einen eigenen FTP Zugang
Wer einen neuen Benutzer anlegen will, der kann diesem Tutorial folgen. Falls was nicht klappt schreibt gerne einen Beitrag hier drunter.
Nun also eigentlich ganz simpel:
Also ich möchte euch an dieser Stelle noch einmal diesen Befehl erklären. Einen kompletten Überblick hierzu findet ihr hier.
Hier erstmal ein Überblick. Wir haben 3 Zahlen die bestimmen welche Rechte welcher user hat.
Jetzt suchen wir uns noch die richtigen Zahlen heraus:
Dann bauen wir den Befehl zusammen und können so die Zugriffsrechte anpassen, wie wir sie brauchen.
Gleichzeitig haben wir auch noch unser FTP Problem gelöst!
Poste am besten deinen Code noch einmal in einem Code Feld.
Das macht es für uns leichter den Code zu lesen
Einfach oben im Editor das Symbol rechts neben der Sprechblase anklicken.
So da keine Nachfragen mehr kamen geht es heute direkt weiter mit dem nächsten großen Schritt.
Einrichten eines Webverzeichnis
So also hier ist es jetzt entscheidend, welche Form des Werbedienstes ihr gewählt habt. Habt ihr zum Beispiel einen Webspace mit Plesk gemietet ist die Installation sehr simpel. Ihr macht einfach eine neue Website. Findet ihr auch auf Google.
Für die Anderen, die mit der Linux Shell gearbeitet haben folgen jetzt weitere Anweisungen:
Ihr solltet wissen, wo eure Webdienste gepeichert werden. Der Standard ist hierfür /var/www/.
Dort sollte auch phpmyadmin gespeichert sein. Jede Website hat einen eigenes Verzeichnis.
Also phpmyadmin ist im ordner /var/www/phpmyadmin/ gespeichert und der die neue Website soll in /var/www/home/ liegen.
Wer diese Theorie verstanden hat, der kann auch schon mit der Einrichtung anfangen. Solltet ihr nicht verstanden haben warum wir die Systeme in verschiedene Ordner gelegt haben fragt gerne nochmal unter diesem Beitrag. Das Projekt soll so transparent, wie nur möglich sein.
So also dann zur Installation. Hier wird unter Ubuntu eine neue Seite angelegt.
Wir gehen die Schritte von oben durch. Wirklich simpel.
So damit habt ihr den nächsten großen Meilenstein gelegt. Von an könnt ihr auf die Seite zugreifen. Wenn ihr eine Domain auf euren Server zeigen lasst, dann könnt ihr auf diese Seite nun zugreifen mit domain/home
Ich persönlich finde das nicht gut. Ich möchte clean auf einer Domain aufbauen. Also greife ich auf die Website nicht direkt mit meiner Domain zu, sondern mit einer Subdomain.
Folgend wird das wie folgt aussehen subdomain.domain.de
So könnt ihr auf einem Server direkt mehrere Websites installieren, ohne dass normale Nutzer etwas davon mitbekommen.
Also wir sagen erstmal apache2, dass wir eine neue Website angelegt haben.
Die verfügbaren Seiten werden durch die conf Dateien in /etc/apache2/sites-available/
Nun wir legen für unsere Seite nun also eine neue Datei an mit sudo nano /etc/apache2/sites-available/home.conf
Oh was ist denn ein DynDns Dienst. Nun dieser Teil ist nur relevant, wenn ihr den Server bei euch zuhause hostet. Solltet ihr das benötigen bitte benutzt Google. Die Einrichtung ist hierbei abhängig von eurem Router.
Nur als Tipp zum Schluss: Ich verwende goip.de
Dieser Dienst ist kostenlos und zuverlässig.
Solltet ihr den Server nicht zuhause hosten, dann könnt ihr den letzten Teil auch rauslassen. Solltet ihr den Server Zuhause hosten, macht dieses System auch keinen Sinn
So wenn die Config geschrieben ist speichern und schließen wir die Datei wieder.
Nun müssen wir die Seite noch freischalten. Dies geht durch a2ensite home.conf
Diesen Befehl müsst ihr als root ausführen oder mit sudo versehen.
Jetzt laden wir apache2 noch einmal neu und können dann von der Domain aus auf die Seite zugreifen. Dies geht mit systemctl reload apache2
Diesen Befehl müsst ihr auch als root ausführen oder mit einem sudo versehen.
Nun sollte, wenn ihr eure Domain aufruft eine leere Seite zu sehen sein, auf der nur eine 0 zu sehen ist.
Seid ihr so weit gekommen beglückwünsche ich euch und ihr seid bereit den nächsten Großen Schritt zu gehen.
Sollte etwas nicht geklappt haben traut euch ruhig unter diesem Beitrag zu kommentieren
Arbeit in phpmyadmin
Nun wir haben jetzt einen Datenbankserver, aber wir haben noch keine Datenbank. Diese erstellen wir in diesem Schritt.
Unter dem Punkt Neu erstellt ihr eine neue Datenbank.
Wichtig ist, dass ihr als Kollation utf8-general-ci verwendet. So könnt ihr auch alle deutschen Sonderzeichen verwenden.
Bei dem Namen solltet ihr etwas nehmen, dass auf das Projekt hinweist. Ich habe zum Beispiel den Namen smarthome gewählt.
Der nächste Schritt ist das erstellen von Tabellen. Hier werden später die Datensätze angezeigt.
Wichtige Spalten der Tabellen sind:
Name: Der Name, der beim abrufen zugeordnet wird.
Typ: Der Typ des Wertes, der an dieser Stelle steht. Wichtig zu wissen: Ihr müsst den Datentyp immer vorher angeben.
Standard: Wenn bei der Eingabe des Datensatzes kein Wert angegeben wird, so nimmt der Wert diesen Wert als Standard an.
Ihr solltet eine Spalte angeben in der eine eindeutige Nummer für den Datensatz in der Tabelle gegeben ist. Dies könnt ihr automatisch bei Index einstellen.
Macht ihr den Haken bei AI (Auto Increment) wird diese eindeutige Nummer pro Datensatz um 1 erhöht.
Nun nach dem Erstellen der Tabelle können wir über den Menüpunkt Einfügen manuell Daten eingeben.
Das bringt natürlich noch nicht sehr viel. Daher kümmern wir uns aber erst später zuerst tragen wir erstmal ein paar Daten ein.
Der Datenbankserver
Also ich habe ja bereits angekündigt, dass ihr auch selbst euer Hirn anstrengen müsst. Und hier kommt direkt die erste Hürde.
Bitte installiert auf eurem Server phpmyadmin.
Ich habe es sinngemäß nach diesem Tutorial gemacht. Wenn ihr kein Ubuntu nutzt (Sollte auch mit Raspbian gehen) dann sucht bitte nach einem passenden Tutorial für euer OS.
Wichtig noch abschließend zu sagen:
Falls ihr plant den Server frei für das Internet zugänglich zu machen, solltet ihr unbedingt ein SSL Zertifikat installieren.
Ich habe meins per Let's Encrypt erstellt und lasse es regelmäßig erneuern. Solltet ihr dazu nichts passendes finden haut mich hier drunter an. Sollte aber recht simpel sein.
So das wars auch schon. Wenn ihr euch nun in euer phpmyadmin einloggen könnt, dann seid ihr schon bereit für den nächsten Schritt
Coming soon...
Also was möchten wir machen. Nun wir wollen zunächst einmal einen Datenbankserver mit Datenbank aufbauen in den wir Datensätze eintragen können. Klingt erstmal simpel aber da können einige Fehler passieren.
Warum schreibe ich wir? Naja ich möchte erstmal auf das Projekt von Niki1803 aufgreifen. Hier findet ihr das Projekt
Da ich nicht so viel Zeit habe derzeit, aber eine zentrale Verwaltung für meine Daten haben möchte bevor ich weitere ESPs verbaue, beginne ich dieses Projekt.
Die Möglichkeiten sind nahezu unbegrenzt.
Viele werden sich jetzt natürlich fragen wofür man sowas braucht. Naja eigentlich braucht ihr es ja auch nicht. Ihr habt die Homebridge und könnt darüber Licht ein oder aus schalten.
Diese Projekt ist für Leute wie mich die sich gerne selbst analysieren. Wir sammeln so viele Daten wie möglich und bringen dem System bei mit den Daten zu arbeiten.
Das kann unterschiedlich aussehen. Denkbare Anwendung der Daten wären zum Beispiel:
Nun was wollen wir denn nun erreichen?
Also das ganze wird simpel aufgeteilt:
Nun klingt ja wirklich simpel. Bei einigen Punkten solltet ihr jedoch ein wenig mehr Zeit einplanen.
Wer bis jetzt nur Bahnhof versteht, dem hab ich mal eine kleine Skizze gemalt. Nicht lachen ich hab mir Mühe gegeben!
Nun gibts noch Fragen
Also ihr werdet einige Dinge brauchen um zu starten. Wir arbeiten mit Linux, also braucht ihr einen entsprechenden Server. Ich hoste den Webserver auf einem Linux Server in meinem Haus.
Ihr könnt aber auch einfach einen Webspace nehmen, dann ist da meistens schon phpmyadmin und die nötigen Tools installiert
Alternativ könnt ihr auch den Raspi auf dem Homebridge läuft nutzen
Also ich versuche das Projekt hier so simpel aber aufschlussreich zu erklären, wie es mir nur möglich ist. Dennoch möchte ich hier nicht eine 1:1 Anleitung zeigen. Ihr sollt inspiriert in euer eigenes Projekt starten und bei Problemen hier Rückhalt finden
Ihr solltet also wissen, wie ihr auf einen Linux Server zugreift (ssh, ftp, http, etc.). Solltet ihr das nicht wissen, dann nutzt bitte zuerst Google und wenn ihr dann noch Fragen habt fragt ruhig hier rein.
So also wie immer Moin erstmal
Ich habe mir vor kurzen das Tutorial mit der externen 5V Stromversorgung durchgelesen und in meinem Kopf sind dann, wie war es auch anders zu erwarten, die Ideen kreuz und quer gehüpft.
Die Ideen gingen von einem simplen Outdoor Bewegungsmelder über eine Outdoor Bodenmessstation mit automatischer Bewässerung (Coming soon? ) zu einem automatisierten Kondomspender (So damn coming soon ) gegangen.
Am Ende hat dann doch wieder meine Vernunft die Kontrolle übernommen und ich habe mir überlegt, weil mein Rollo sowieso ein wenig kaputt ist und nicht mehr zu hält, ein smartes Rollo zu bauen.
Meine Voraussetzungen für dieses Projekt sind wie folgt:
Was habe ich bis jetzt zur Lösung des Projektes getan:
Ich habe jetzt noch folgende Probleme:
Wenn ihr eine Idee habt den Punkt 1 oder gar 2 zu lösen, dann schreibt ihn gerne als Beitrag hier drunter
Wo? AliExpress
Wie lange? Unbegrenzt
Vergleich mit dem Amazon Preis:
LED Strip: 9,90€
Magic Home Controller: 12,99€
Stromversorgung: 9,99€
Gesamt per Amazon: 32,88€
Ersparnis: 32,88€-14,09€ = 18,79€
Also wenn ihr den Monat auf eure Ware warten könnt, dann habt ihr hier ein echtes Schnäppchen vor euch. Ihr spart ganze 42,85%
Also ich werde mir demnächst mal eine Einheit erschwaben. Kann euch ja dann nochmal von der Qualität berichten.
Ja Version 1.0 habt ihr nie gesehen
Ich hab mir jetzt nochmal Gedanken gemacht. Leider erst nach dem programmieren...
Ich nutze derzeit schon das Homebridge-http-webhooks Plugin. Ich habe gestern gesehen, dass ich da ja auch die Möglichkeit habe eine Alarmanlage zu programmieren
Da liegt es jetzt für mich natürlich nahe dieses Plugin zu verwenden. Ich muss dafür aber den Code ändern
Ich möchte jetzt aber mit euch mein Programm für das oben beschriebene Plugin mit euch teilen und durchgehen.
Dann können auch Menschen ohne das webhooks plugin eine Alarmanlage einbauen.
Und die Funktionsweise ist anhand dieses Plugins einfacher zu erklären weil man direkt für jeden Status eine eigenen Funktion definieren kann.
Das macht das ganze etwas übersichtlicher
So hier ist der Code für die Alarmanlage. Ich erkläre erstmal kurz was ihr ändern müsst, wenn ihr einfach per Copy and Paste anfangen wollt.
Wichtig hierbei zu beachten ist, dass noch einige Dinge durch euch implementiert werden müssen, wenn ihr sie übernehmen wollt.
Also was ihr ändern müsst:
Was ihr neu schreiben müsst:
Was wichtig ist zu wissen für euch:
Derzeit könnt ihr die Alarmanlage nicht über die Homebridge deaktivieren. Dafür solltet ihr als Hardware einen Knopf anbauen, über den dann der currentState wieder auf 3 gesetzt wird.
Wenn ihr das per Homebridge versucht, wird eure Homebridge abstürzen und sich selbst wieder neu starten. Für mich ist das kein Problem, weil die Aktoren der Alarmanlage eh per http geschaltet werden. Es dauert einfach kurz bis die Homebridge wieder da ist
Also hier dann der Teil mit der Erklärung des Codes Ich gehe dabei nicht auf die Standard Sachen der Tutorials ein:
Hier werden die verschiedenen Stadien der Alarmanlage erbeten.
Es ist wichtig zu wissen, dass der targetState der Status ist, der von der Home App erwartet wird. Wenn der aktuelle Status, also currentState davon abweicht wird der currentState auf den Wert des targetState gesetzt, außer der currentState ist 4. In diesem Fall wird Alarm ausgelöst.
Wie genau die Änderungen oder der Alarm verwaltet wird sehen wir hier:
In der Funktion handleChanges werden die Werte von currentState und targetState, welchen wir durch die http Anfrage gesetzt haben, verglichen und angepasst oder es wird ausgeführt, was passieren soll wenn der Alarm ausgelöst wurde. In diesem Fall wird bei Alarm nur eine Nachricht per Serial gesendet.
Gut das wars erstmal mit dem Update
Wenn ihr noch Fragen habt, dann stellt sie einfach hier drunter
Also nachdem ich jetzt bereits seit ein paar Tagen versuche meinen Fehler zu finden und auch auf Google leider gescheitert bin, will ich euch allen mal mein Problem schildern...
Also ich habe versucht einen Bewegungssensor (HC-SR501) in meine Homebridge und in mein Alarmanlagen Projekt zu integrieren.
Also alle bereits gegangen Schritte:
Ich habe den Sensor wie im Datasheet beschrieben angeschlossen. Einen kleinen Sketch geschrieben und dann beim hochladen fingen die Probleme schon an:
Das Programm lies sich nur auf den ESP laden, wenn ich die 5v Verbindung des Sensors getrennt habe. Habe ich dies nicht getan, dann kam das schreiben nicht weiter als den folgenden Schritt (Ich habe mir dabei nichts weiter gedacht):
Wenn ich dann nach dem Schreiben den Sensor wieder verbunden habe, dann hatte der Sensor keinen Strom mehr (Status LED leuchtete nicht).
Der nächste Schritt war, dass ich den ESP getauscht habe (selbes Problem).
Der nächste Schritt war, dass ich den Sensor getauscht habe (selbes Problem).
Der Nächste Schritt war, dass ich alle verschieden möglichen Verbindungen zwischen 5v, GND, D4 getestet habe (selbes Problem).
Der nächste Schritt war probeweise einen Schalter zu verbauen, um mögliche Fehler beim Löten oder dem Code zu finden. Hierbei hat das erfassen des Signals problemlos geklappt.
Daraus schließe ich, dass es an folgenden Dingen nicht liegen kann:
Per Ausschlussprinzip kann ich also nur vermuten, dass es an einem der Folgenden Dinge scheitert:
Please send help!
Ich habe leider noch nie mit der Fritzbox gearbeitet, aber was ich mir vorstellen könnte wäre, dass du quasi einen Bewegungsmelder einrichtest, der eine Bewegung simuliert, wenn deine Klingel gedrückt wird.
Sehr geil!
Meine Empfehlung: Mach einfach noch einen Schuss Korn rein
Waaaas eine Smarte Kaffeemaschine für unter 10€ wie soll das gehen?
Naja also im Grunde ist das relativ einfach und das Beste ist ich erkläre euch wie das geht:
Zuerst braucht ihr einige Dinge. Hier eine Checkliste:
So aber wie kommt man dann auf 10€?!
Naja die einfachen Dinge, wie eine Zange oder einen Lötkolben hat man ja schon Zuhause, oder kann sie für weitere Projekte weiterverwenden.
Ich habe für meine Kaffeemaschine, eine alte Durabrand in top Zustand, genau 4€ bezahlt. Ihr solltet mal Ebay Kleinanzeigen durchsuchen. Da findet sich schnell eine günstige zum abholen.
Nun dann habe ich den Sonoff als 5er Pack gekauft, da man ihn ja für sehr viele Sachen einsetzen kann. Da hat dann das Stück ca. 5,50€ gekostet.
Damit komme ich für meine Smarte Kaffeemaschine auf schlappe 9,50€ und ich muss dafür nicht mal meine gute Delonghi Maschine auseinander nehmen.
Also dann gehts los!
1. Schritt: Sonoff bereit machen
Zuerst habe ich meinen Schalter auseinander genommen und wie in diesem Tutorial angeschlossen und programmiert.
Das Programm habe ich diesem Tutorial entnommen, aber ich musste den entsprechenden Pin anpassen.
Sollte etwas am Code nicht klar sein, dann fragt mich bitte hier unter dem Beitrag
2. Schritt: Die Kaffeemaschine vorbereiten
Werdet euch klar darüber, wie die Maschine funktioniert. Wählt danach die einfachste Möglichkeit die Maschine an oder aus zu schalten.
Ich habe mich dafür entschieden meinen Sonoff direkt an das Kabel und nicht in das Gehäuse selbst du verbauen.
Wenn die Vorgehensweise entschieden ist, kann man auch schon mit dem nervigsten Teil anfangen.
3. Schritt: Die Richtigen Kabel durchschneiden
Wichtig: Zieht bevor ihr anfangt an den Kabel zu fummeln den Stecker raus oder macht eure Sicherung raus! GANZ WICHTIG!!!
Zuerst habe ich an meinem Kabel abgemessen, wie viel Kabel ich entfernen muss und hab mir dann entsprechende Markierungen gesetzt.
Mein Tipp an euch: Seid lieber etwas großzügiger!
Kommen wir zu den Kabelfarben:
Braun: L
Blau: N
Grün/Gelbe: Sicherung
An der Sonoff müsst ihr entsprechend die Farben anschließen. L & N sind ja auf dem Gehäuse beschriftet.
Die Sicherungsleitung nicht durchschneiden! Sie habe ich einfach hinter dem Gehäuse durchgeführt.
4. Schritt: Den Switch mit der Homebridge bekannt machen
Hierfür verwende ich dieses Plugin die Config sollte ja zwar auf npm ersichtlich sein.
Trotzdem hier nochmal meine Config.
Das xx am Ende der IP müsst ihr noch durch die Endung eurer IP tauschen. Um diese IP zu bekommen, könnt ihr euch entweder in die Weboberfläche eures Routers einloggen oder ihr benutzt einen Netzwerkscanner.
So jetzt könnt ihr eure Kaffeemaschine in der Home App an bzw. abschalten.
Viel Erfolg beim Nachbauen und guten Durst
Wie genau werden die Sensoren abgefragt? Läuft auf jedem ESP ein eigener Webserver, den du von der Homebridge aus abfragst?
Ja auf jedem ESP soll ein eigener Webserver laufen, da ich ja auch die Daten der Sensoren in der Home App nutzen möchte.
Zum Beispiel ein Bewegungsmelder kann ja auch dann das Licht anschalten und nicht nur für die Alarmanlage nutzbar sein.
Also über die genau Raumabtastung muss ich mir noch Gedanken machen, aber das mit dem Fenstereinschlagen werde ich durch einen „Klatsch“ Sensor realisieren. Keine Ahnung wie der genau heißt hab davon hier schon einige rumfahren. Sind sehr simpel: wenn es einen Peak der Lautstärke gibt geben sie eine 0 statt einer 1 zurück. So und wenn die Alarmanlage scharf geschaltet ist werden die Sensoren überprüft. Wenn ich daheim bin halt nicht.
Das ganze will ich dann mit weiteren Sensoren verknüpfen, das heißt:
Ein Sensor reicht nicht um einen Alarm auszulösen, sondern wenn das System denkt das Fenster wurde eingeschlagen, dann muss auch noch der PIR Alarm geben. Oder halt eben ein anderer Sensor (deutlicher Temperatur Abfall, etc.)
Das gute bei mir ist ich bin derzeit in einer Umzugsphase, also alle Sensoren etc werden bei mir nur auf einen Raum angewendet. Da habe ich schon Tür und Fenstersensoren verbaut.
Sorry für die blöde Formatierung. Hab’s grad schnell am Handy geschrieben.
So also wie fang ich hier an. Ich hatte die Idee eine Alarmanlage in Homekit selber einzubauen und das ganze über einen ESP.
Mir war wichtig, dass ich nicht jedem Sensor sagen muss, dass er an die Alarmanlage melden muss, sondern die Alarmanlage sollte sich selbstständig die Daten der Sensoren holen.
Auch sollten andere Geräte ein oder ausgeschaltet werden, wenn ein Alarm ausgelöst wird.
Beispiel:
Es ist aber hier nicht das Ziel am Schluss mit einer Trefferwahrscheinlichkeit von 100% dazustehen.
Ich habe aber trotzdem vor mal eine Zahl zu errechnen und dann zu schauen wie nah ich an große Hersteller komme und was ich im Vergleich spare.
Ich weiß, dass das verwendete Plugin eine einfachere Datenverarbeitung erlaubt.
Mir war jedoch bei der Konzipierung wichtig, dass der Code auf den Nutzern des Forums bekannten Prozessen aufbaut.
Zum Beispiel wie man einen Sensor in Homebridge einbindet
oder wie man die Daten eines Sensors per ESP abfragt
und natürlich wie die Homebridge sich die Daten von den ESPs holt
Für die Meisten hier sind das denke ich bekannte Abläufe, solltest du davon jetzt aber noch gar keinen Plan haben, dann schau dir zuerst die Videos an
So also in der Vorbereitungsphase habe ich zunächst nach einem HTTP Alarmanlagen Plugin gesucht.
Ich habe das hier verwendet.
Mir war klar, dass in diesem Fall ein Alarmsystem 5 Zustände hat:
So weit so gut.
Das Sytem hat einen Wert, der von dem Handy erwartet wird und einen Wert den es tatsächlich hat.
Logisch: Wenn der Wert 3 sein sollte, aber 4 ist, dann kann das Gerät Party machen. Wenn aber der Wert 2 ist, aber 1 sein sollte, dann muss das Gerät umschalten, aber keine Party veranstalten.
Die jeweiligen Staten werden in einem bestimmten Interval abgefragt und demnach wird dann entschieden ob Party ist oder nicht.
Leider hat mein Code noch einen Fehler und unschöne Stellen.
Ich teile ihn dann demnächst mit euch, je nachdem wann ich Bock habe weiter daran zu arbeiten.
P.S.: Eure Meinungen interessieren mich, also lasst gerne paar Beiträge da