Ankündigung

Einklappen
Keine Ankündigung bisher.

Geofency mit ReverseProxy an ioBroker an Edomi

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

    Geofency mit ReverseProxy an ioBroker an Edomi

    Hallo zusammen,
    hier mal wieder eine Beschreibung, eigentlich mehr, um für mich eine Doku zu erstellen.
    Hilft vermutlich auch dem einen oder anderen.
    Android Benutzer bitte direkt hier hin.


    Diese Anleitung setzt voraus, das die MQTT Subscribe Server(LBS19001052) Beispiel 1Wire-owfs-ioBroker -MQTT-Server-Edomi Anbindung bereits erfolgt ist, bzw der owfs Teil ist hierfür natürlich nicht notwendig.
    1. Einrichtung Reverse Proxy nginx
      (Wer keinen Reverse-Proxy hat, kann eine gute Anleitung in den Alexa Bausteinen finden.)
      1. In meinem Fall, auf dem vorhanden Reverse-Proxy (nginx) eine neue Datei /etc/nginx/sites-available/geofens erstellen:
        Da ich meine Letsencrypt Zertifikate mit Dehydrated und DNS-Authentifizierung mache, muss die Zertifikatsdatei vermutlich bei euch angepasst werden.
        Code:
        # Geofens Server
        		server {
        		  listen                      443 ssl;
        		  server_name                 geofens.<DEINEDYNDNS>;
        		  #ssl_certificate             /etc/dehydrated/certs/geofens.<DEINEDYNDNS>/fullchain.pem;
        		  #ssl_certificate_key         /etc/dehydrated/certs/geofens.<DEINEDYNDNS>/privkey.pem;
        		
        		  location / {
        		      proxy_pass http://IP_DES_IOBROKERS:7999;
        		  }
        		
        		  error_log        /var/log/nginx/geofens-error.log;
        		  access_log        /var/log/nginx/geofens-access.log;
        		}
      2. Diese dann mit
        Code:
        		cd /etc/nginx/sites-enabled
        		sudo ln -sf ../sites-available/geofens geofens
        		sudo systemctl restart nginx
        aktivieren.
      3. Zertifikat erstellen
        1. Bei mir ist ein DNS Eintag auf dem DNS Server meines Providers notwendig.
        2. Eintrag auf dem Router, diesen DNS Eintrag aktuell zu halten.
        3. Ein Eintrag in die Datei /etc/dehydrated/domains.txt (geofens.<DEINEDYNDNS>)
        4. Scipt dehydrated ausführen um ein aktuelles Zertifikat zu bekommen.
      4. nginx kann jetzt neu gestartet werden.
        Dafür muss das Zertifikat bereits existieren und in der Datei /etc/nginx/sites-available/geofens müssen die Kommentarzeichen vor dem ssl... entfernt werden.
        Code:
        sudo systemctl restart nginx
    2. Auf dem ioBroker den Geofency Adapter installieren. und folgende Einstellungen vornehmen:
      1. Ortsname für Zuhause festlegen z. B. atHome
      2. Server aktivieren
      3. Port z. B. 7999 passend zum proxy_pass Eintrag auf dem Reverse-Proxy, siehe 1.1
      4. KEIN SSL verwenden (machen wir auf dem Reverse-Proxy)
      5. Benutzer und Passwort festlegen
      6. Einstellungen speichern
    3. In der Geofency App für jeden Benutzer folgende Werte festlegen:
      1. Über das + einen neuen Eintrag erstellen (über Adresssuche, etc.)
      2. über die drei Punkte rechts neben dem neuen Eintrag, Namen editieren und den gleichen Namen vergeben wie unter 2.1.
      3. über die drei Punkte Webhook auswählen:
        1. URL-Einstellungen
          Bei Eintritt in der URL die URL https://geofens.<DEINEDYNDNS>/<DEINNAME> eintragen.
          Hierbei ist <DEINNAME> je Benutzer/Familienmitglied individuell einzurichten.
          Die URL wird automatisch unter Austritt eingetragen.
          Die anderen Optionen nach belieben einstellen.
        2. HTTP-Methode auf POST(JSON-encodiert)
        3. Account Daten wie unter 2.5. eintragen
        4. Ein Klick auf Beitreten sollte nun erfolgreich sein
          Ein Klick auf Verlassen sollte erfolgreich sein.
    4. Edomi Konfiguration
      In Edomi interne Variablen anlegen und die internen IDs merken
      1. Eine "atHomeCount" Variable
      2. eine Variable "atHome" für die Benutzerliste
      3. Eine Variable "<DEINNAME>" für jeden Benutzer
    5. Auf dem ioBroker geht es weiter
      Folgende Schritte für alle gewünschten Werte durchführen:
      1. Unter Objekte > geofency.0 sollte jetzt ein <DEINNAME> Eintrag vorhanden sein.
      2. Beim vertiefen kommt nun atHome (siehe 2.1)
      3. Darunter gibt es jetzt den Eintrag "entry"
      4. hinten auf den "Schraubenschlüssel" klicken
        aktiviert auswählen
        edomi/set/internal/<EdomiVariablenIDvonDEINNAME>
        beim publish "aktiviert" und "retain" auswählen
      5. Speichern
    Wenn nun mit den "Beitreten" und "Verlassen" Buttons (siehe 3.3.4) eine Aktualisierung angestoßen wird, werden über die MQTT Anbindung die Werte an Edomi übergeben.

    Viel Erfolg beim nachbauen.
    Zuletzt geändert von Lapheus; 26.12.2019, 22:11.
    Gruß
    Lapheus
Lädt...
X