Metainformationen zur Seite

Dies ist eine alte Version des Dokuments!


SureFlap Connect

Autor Marcel Zoller  Daniel Kieslinger
Logo
Status RELEASE
Version 2021.03.11
Min. LB VersionLB 1.4.2
Download https://github.com/marcelzoller/loxberry-plugin-sureflap/archive/2021.03.11.zip
Zweck Ansteuern und Abfragen vom SureFlap Geräten via Sure Petcare. https://surepetcare.io/
Languages EN, 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



Überblick

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

1267335250.jpeg

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 Parameter Output Beispiele
getData.phppetname=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
URLhttp://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 Parameter Output Bespiele
Helligkeit der LED des Hub anpassen

setHubLedBrightness.php
mode=[brightdimoff] oder
modeid=[1
23] oder
modeLox=[0
12]

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!
URLhttp:%%//%%loxberry/plugins/sureflap/setHubLedBrightness.php?modeLox=0&viname=SureFlap
Allgemeine Sperre der Klappe setzen

setLockMode.php
mode=[noneinoutboth] oder
modeid=[1
234] oder
modeLox=[0
123]


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!
URLhttp://loxberry/plugins/sureflap/setLockMode.php?modeLox=0&viname=SureFlap
Status des Haustiers ändern

setPetLocation.php
location=[inout] 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=[outin] 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:

Befehl Wirkung
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-SetPetLocationAktuellen 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.