SureFlap Connect

Autor
Logo

Status

RELEASE

Version2021.03.11
Min. LB Version

LB 1.4.2

Download

https://github.com/marcelzoller/loxberry-plugin-sureflap/archive/2021.03.11.zip

ZweckAnsteuern und Abfragen vom SureFlap Geräten via Sure Petcare. https://surepetcare.io/
LanguagesEN, DE
Diskussion
 Version History...

Version 2021.03.11

  • Komplettes Redesign und Erweiterung
  • Plugin zusammen mit Daniel Kieslinger weiterentwickelt
  • Abfrage von mehrere Hautieren, Hub, Haushalte und Klappen
  • Zentrale Abfragefunktion „getData.php“
    • Performanceverbesserung da nur noch eine Anfrage an surepetcare.io gestellt wird
  • Login Token wird gespeichert
    • Automatisches Neuauthentifizieren, wenn Token abgelaufen ist
  • Virtuelle Texteingänge möglich
  • Verbesserung Abfrageintervall
  • Zusätzliche Abfragewerte
    • Batteriestatus, Empfangsqualität, Wohnungstier uvm.
  • Weitere Skripte zur Änderung direkt aus der Loxone
    • setCurfew.php und setPetLocking.php

Version 2021.01.14

  • Fix Login Problem by gyrinet (Thx)

Version 2019.09.08

  • erste öffentliche Version

https://github.com/marcelzoller/loxberry-plugin-sureflap

Inhalt



Überblick

Mit diesen Plugin können Geräte von SureFlap via Sure Petcare (https://surepetcare.io/) abgefragt oder angesteuert werden. 

Aktuell können die folgenden Informationen von Sure Petcare Portal abgefragt oder angesteuert werden.

Abfragen:

  • Neue Abfragefunktion:
    • Zentrale Abfrage (getData.php)
  • Alte Abfragefunktionen (Sollen nicht mehr verwendet werden):
    • SurFlap Geräte Abfrage (getDevices.php)
    • Haustiere Abfragen (getPet.php)
    • Aktuelle Positionen (Innen/Aussen von den Haustieren Abfragen (getPetLocation.php)

Ansteuern:

  • SureFlap Türe Lock Mode setzten (setLockMode.php)
  • Haustier Position (Innen/Aussen) setzten (setPetLocation.php)
  • SureFlap Hub LED Helligkeit setzten (setHubLedBrightness.php) 

Download

Installation und Konfigurationsoptionen Loxberry

Plugin via Github-Link auf dem Loxberry installieren. Es müssen nur wenige Einstellungen getätigt werden.

  • E-Mail Account: Hier muss der Account vom Sure Petcare Portal ( https://surepetcare.io/) eingetragen werden.
  • Passwort: Hier muss das Passwort vom Sure Petcare Portal ( https://surepetcare.io/) eingetragen werden.
  • Miniserver: Auswahl des Miniserver, wo der Status hingeschickt werden sollen.

Die Einstellung können mit dem Knopf "Speichern" setzt werden.

Ob die Einstellungen stimmen, kann einfach einen URL-Link (z.B. http://loxberry/plugins/sureflap/getData.php) angeklickt werden. Wir einen Webseite mit allen Geräten von SureFlap dargestellt, stimmt der Account und das Passwort.

Übersicht der Funktionen

Hier sind alle Seiten aufgeführt, wo Informationen abgefragt werden können:

WebpageÜbergabe ParameterOutputBeispiele
getData.php

petname=Testkatze

Bei keinem Parameter werden alle Haustiere aufgelistet.


viname=<VI-Name>
VI-Name vom virtuellen Texteingang 

viparam=<Attribute>

Namen vom Attribute, dass an den virtuellen Texteingang geschickt werden soll

viseparator=<...>
optional - Trennzeichen (Standard "-")

System@DateTime@28.01.2021 20:47:04
System@DateTimeLox@381098824

Haus@HouseholdID@12345
Haus@HouseholdName@Haus

Hub@DeviceID@123456
Hub@DeviceName@Hub
.. 
Hub@DeviceOnline@1
Hub@DeviceLedMode@[1=off|2=bright|3=dim]
Hub@DeviceLedModeLox@[0=off|1=bright|2=dim]
Hub@DeviceLedModeDesc@[off|bright|dim]

Klappe@DeviceID@1121234
Klappe@DeviceName@
Klappe
... 
Klappe@DeviceOnline@1
Klappe@DeviceSignal@-85.4 db
Klappe@DeviceSignalHub@-73.2 db
Klappe@DeviceBattery@5.645
Klappe@DeviceBatteryPerc@100%
Klappe@DeviceLockMode@[1=none|2=out|3=in|4=both]
Klappe@DeviceLockModeLox@[0=none|1=out|2=in|3=both]
Klappe@DeviceLockModeDesc@[none|out|in|both]
Klappe@DeviceCurfew@

Testkatze@PetID@801234
Testkatze@PetName@Testkatze
...

Testkatze@PetLocation@[1|2]
Testkatze@PetLocationLox@[0|1]
Testkatze@PetLocationDesc@[Inside|Outside]
Testkatze@PetLocationSince@28.01.2021 07:22:22
Testkatze@PetLocationSinceLox@381050542

URL:  http://loxberry/plugins/sureflap/getData.php?viname=SureFlap



Beispielaufruf:
getData.php?viname=SureFlap&viparam=PetLocationSince;PetGender

Übertragung an folgenden virtuellen Eingang:
SureFlap-Tiername-PetLocationSince
SureFlap-Tiername-PetGender


Hier sind alle Seiten aufgeführt, wo Werte geschrieben werden können:

WebpageÜbergabe ParameterOutputBespiele

Helligkeit der LED des Hub anpassen

setHubLedBrightness.php

mode=[bright|dim|off] oder
modeid=[1|2|3] oder
modeLox=[0|1|2]

Optional:

viname=[...]
devicename
=[...]

Successfully set LED mode for "Hub" to "off"

Hub@DeviceID@123456
...
Hub@DeviceLedMode@1
Hub@DeviceLedModeLox@0
Hub@DeviceLedModeDesc@off

Send value "0" to "SureFlap-Hub-DeviceLedModeLox" successful!

URL:  http://loxberry/plugins/sureflap/setHubLedBrightness.php?modeLox=0&viname=SureFlap

Allgemeine Sperre der Klappe setzen

setLockMode.php

mode=[none|in|out|both] oder
modeid=[1|2|3|4] oder
modeLox=[0|1|2|3]

Optional:

viname=[...]
devicename
=[...]

Successfully set lockmode for "Katzenklappe" to "none"

Katzenklappe@DeviceID@234567
...
Katzenklappe@DeviceLockMode@1
Katzenklappe@DeviceLockModeLox@0
Katzenklappe@DeviceLockModeDesc@none
Katzenklappe@DeviceCurfew@19:00-06:00

Send value "0" to "SureFlap-Katzenklappe-DeviceLockModeLox" successful!

URL:  http://loxberry/plugins/sureflap/setLockMode.php?modeLox=0&viname=SureFlap

Status des Haustiers ändern

setPetLocation.php

location=[in|out] oder
locationid=[1=in|2=out] oder
locationLox=[0=in|1=out]

petname=[...]
Name des Haustiers muss zur Sicherheit immer mitgegeben werden

Optional:

viname=[...]

Successfully set pet location for "Testkatze" to "inside"

Testkatze@PetID@34568
...
Testkatze@PetLocation@1
Testkatze@PetLocationLox@0
Testkatze@PetLocationDesc@Inside
Testkatze@PetLocationSince@30.01.2021 13:53:18
Testkatze@PetLocationSinceLox@381246798

Send value "0" to "SureFlap-Testkatze-PetLocationLox" successful!
Send value "30.01.2021%C2%A013%3A53%3A18" to "SureFlap-Testkatze-PetLocationSince" successful!

URL: http://loxberry/plugins/sureflap/setPetLocation.php?petname=Testkatze&locationLox=0&viname=SureFlap

Wohnungstiereigenschaft ändern

setPetLocking.php

locking=[out|in] oder
lockingid=[2=out|3=in] oder
lockingLox=[0=out|1=in]

petname=[...]
Name des Haustiers muss zur Sicherheit immer mitgegeben werden

Optional:

viname=[...]

Successfully set pet locking for "Testkatze" to "outside"

Testkatze@PetID@34568
...
Testkatze@PetLocking@2
Testkatze@PetLockingLox@0
Testkatze@PetLockingDesc@Outdoor

Send value "0" to "SureFlap-Testkatze-PetLockingLox" successful!

URL: http://loxberry/plugins/sureflap/setPetLocking.php?petname=Testkatze&lockingLox=0&viname=SureFlap

Sperrzeiten der Klappe hinterlegen

setCurfew.php


Hinweis:

Es ich nur möglich einen Sperreintrag zu hinterlegen, alle bereits hinterlegten Einträge werden ersetzt.

Deaktivieren:
mode=off oder
modeid=0

Aktivieren
mode=on oder
modeid=1
from=[eg. 18:00]
to=[eg. 06:00]

Optional:

viname=[...]
devicename=[...]

SetCurfew: 19:00-06:00
Successfully enabled curfew for "Katzenklappe" between 18:00 & 06:00

Hub@DeviceID@123456
...

Katzenklappe@DeviceID@234567
...
Katzenklappe@DeviceCurfew@19:00-06:00

Send value "19%3A00-06%3A00" to "SureFlap-Katzenklappe-DeviceCurfew" successful!

Aktivieren: http://loxberry/plugins/sureflap/setCurfew.php?mode=on&from=18:00&to=6:00&viname=SureFlap

Deaktivieren: http://loxberry/plugins/sureflap/setCurfew.php?mode=off

Einrichtung in der Loxone Config

Beispielkonfiguration: SureFlap.Loxone

Die Vorlage erzeugt diese Visualisierung:

Vorlage für virtuelle Ausgänge: VO_HTTP-SureFlap-Out.xml

Virtueller Ausgang (HTTP) - Aktualisierung anzufordern

Um die aktuelle Werte abzufragen, muss ein Virtueller Ausgang (HTTP) erstellt werden. Hier eine XML-Vorlage die mittels "Virtuelle Ausgänge → Vordefinierte Geräte → Vorlage importieren..." hinterlegt werden kann. VO_HTTP-SureFlap-Out.xml . In der Vorlage sind folgende Ausgangsbefehle enthalten:

BefehlWirkung
SureFlap-Refresh

Veranlasst die Aktualisierung der hinterlegten virtuellen Eingänge ober die Seite getData.php

Durch Aufruf dieses Ausgangs kann zu einem beliebigen Zeitpunkt eine Aktualisierung veranlasst werde.
Im Gegensatz zu einem virtuellen Eingang mit dem gleichen Befehl kann so auch eine manuelle Aktualisierung veranlasst werden bzw. mit einer Zeitschaltuhr das Intervall während bestimmter Zeiten angepasst werden. Siehe Beispielkonfiguration.

SureFlap-SetHubLedBrightness

Änderung der Helligkeit der LED-Ohren des Hubs.

mode = [1=Aus | 2=Hell | 3=Abgeblendet]

modeLox = [0=Aus | 1=Hell | 2=Abgeblendet]

SureFlap-SetLockMode

Zugang der Klappe anpassen.

mode = [1=Offen | 2=Eingesperrt | 3=Ausgesperrt | 4=Beidseitig verriegelt]

modeLox = [0=Offen | 1=Eingesperrt | 2=Ausgesperrt | 3=Beidseitig verriegelt]

SureFlap-Testkatze1-SetPetLocation

Aktuellen Aufenthaltsort des Haustieres ändern.

location = [1=Im Haus | 2=Aussen]

locationLox = [0=Im Haus | 1=Aussen]

SureFlap-Testkatze1-SetPetLocking

Wohnungstiereigenschaft ändern

locking = [2=Freigänger | 3=Wohnungstier]

lockingLox = [0=Freigänger | 1=Wohnungstier]

Jedem Ausgang wird zusätzlich der Parameter viname mit übergeben. Damit wird die Bezeichnung des virtuellen Eingangs übermittelt, an den die Werte übertragen werden sollen.

Virtueller Eingang / Texteingang (HTTP) - Werte ausgeben

Auf der Pluginseite http://loxberry/plugins/sureflap/getData.php (Beispiel) sind alle hinterlegten Parameter zu sehen.
Anhand dieser wird die Bezeichnung der virtuellen Eingänge erzeugt.

Hierzu ein Beispiel:

Soll der Parameter Testkatze@PetLocationLox@1 (Testkatze befindet sich außerhalb des Hauses) an die Loxone übertragen werden, so muss - wenn der Parameter viname=SureFlap gesetzt ist - der Eingang folgenden Namen haben: SureFlap-Testkatze-PetLocationLox. Es werden also alle @ durch einen Bindestrich ersetzt.

Nach dem die Anpassung in die Loxone übertragen wurde kann die Pluginseite mit folgendem Aufruf gestartet werden http://loxberry/plugins/sureflap/getData.php?viname=SureFlap&viparam=PetLocationLox woraufhin im virtuellen Eingang der Wert gesetzt sein sollte.

Im Fehlerfall kann in der Pluginverwaltung des LoxBerry das Log-Level auf Debug gesetzt werden und in der Logdatei (Button im SureFlap-Plugin) nachfollzogen werden warum etwas nicht klappt.

Je nach Ausgabewert ist entweder ein virtueller Eingang (bei Zahlenwerten) oder virtueller Texteingang (bei Texten) zu verwenden.



Besonderen Dank

Besonderen Dank muss ich an die Vorarbeiten richten:

Alex Toft - Sureflap PHP Module

Daniel Kieslinger hat die Weiterentwicklung vom Plugin mit der zentralen Abfrage vorangetrieben.

Roadmap

Noch keine speziellen Ideen.

Fragen stellen und Fehler melden

Das PlugIn wird von mir noch weiterentwickelt und ich freue mich über Anregungen und Feedback.