Plugin-Daten
AutorMarcel Zoller Daniel Kieslinger
Logo
StatusSTABLE
Version2024.02.01
Min. LB Version2.0
Release Downloadhttps://github.com/marcelzoller/loxberry-plugin-sureflap/archive/2024.02.01.zip
BeschreibungAnsteuern und Abfragen vom SureFlap Geräten via Sure Petcare. https://surepetcare.io/
SprachenEN, DE

SureFlap Connect

Version History...


Ü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.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
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=[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!
URLhttp:%%//%%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!
URLhttp://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:
| 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-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.