Rademacher hat mit seinem HomePilot ein geniales Produkt auf den Markt geworfen um Smart zu Hause zb. die Rolladen zu steuern und auch noch eine HomePilot API die relativ easy verständlich ist. Nur leider kann das System out of box nicht mit Apple Home-Kit, Alexa oder der Home-Matic kommunizieren.
Jedoch ist die Schnittstelle relativ einfach zu verstehen.
Über den Aufruf im LAN: http://IP-HOMEPILOT/deviceajax.do?devices=1
bekommt man eine Auflistung der alle an den HomePilot gekoppelten Geräte und deren Konfiguration.
Am Beispiel des DuoFern Rohrmotors (RolloTube DuoFern) bauen wir uns nun einmal einen Link mit dem wir den Rolladen auf 50% senken/heben.
http://IP-HOMEPILOT/deviceajax.do?cid=9&did=10001&goto=50&command=0
Hierbei sind zwei Werte wichtig:
did=10001 –> dies ist die eindeutige Device-ID des Aktors welche ihr wie oben beschrieben über http://IP-HOMEPILOT/deviceajax.do?devices=1 herausfinden könnt.
goto=50 –> mit diesem Wert sagen wir dem Rohrmotor auf welche Position er fahren soll.
Wenn ihr nun die oben zusammengebaute URL in euren Browser eintragt und diese bestätigt fährt der Aktor (RolloTube DuoFern) mit der did=10001 auf Position 50.
Im Anschluss erhalten wir noch eine Bestätigung des Aktors:
{„message“:“Command used:9 position:100″,“status“:“uisuccess“}
Diesen können wir z.b in Node-Red weiterverarbeiten.
Dort ist es uns dann möglich den Aktor in Apple Homekit einzubinden. Oder mit einem Dash Button bestimmte Gruppen hoch und runter zu fahren. Man kann es sogar soweit treiben das wir mit einem Amazon Dash Button eine Szene auslösen die wie folgt aussehen kann:
- Schalte den Samsung SmartTV ab.
- Fahre die Rademacher Rollanden einer bestimmten Gruppe herunter.
- Schalte die Philips Hue Lampen aus.
- Aktiviere die Bewegungserkennung für bestimmte Philips Hue Bewegungsmelder und informiere via Apple Homkit bei Bewegung.
//EDIT – Mir wurden folgende Infos zugespielt, diese sollte ich doch auch bitte einmal veröffentlichen:
SWITCH:
THERMOSTAT:
LIST OF DEVICES:
http://HomePilotIP/v4/devices
DEVICE STATE:
GET
http://HomePilotIP/devices/deviceID 5
Für Rolladen:
PUT
{"name":"POS_UP_CMD"}
{"name":"POS_DOWN_CMD"}
{"name":"STOP_CMD"}
Seit September 2019 gibt es eine neue Firmware v5 und auch eine neue Api für den HomePilot. Die alte Api funktioniert leider nicht mehr.
Ich habe die folgenden neuen REST Api Endpunkte herausgefunden:
Auflistung der gekoppelten Geräte:
* GET http://IP-HOMEPILOT/v4/devices
Jalousien auf eine bestimmte Position fahren:
* PUT http://IP-HOMEPILOT/devices/#DeviceId#
Payload: {„name“: „GOTO_POS_CMD“, „value“: #Position#}
Beispiel um das Gerät mit der Id 1010004 auf 50% zu fahren:
PUT http://IP-HOMEPILOT/devices/1010004
{„name“: „GOTO_POS_CMD“, „value“: 50}
Hallo Marius,
herzlichen Dank für die Aktualisierung.
Wenn es für dich okay ist, würde ich deine Infos in einem eigenen Beitrag posten wollen.
Gib mir kurz bescheid.
Danke Gruß Marvin
Hallo Marius,
hast Du zufällig auch heraus bekommen, mit welchem Befehl man den Modus (Auto/Manuell) ändern kann?
Gibt es schon eine Lösung für den HomePilot 3?
Bei jedem Befehl den ich über den Browser dort hin schicke kommt nur „Unauthorized“ zurück.
Hallo,
gibt es mittlerweile ein Aktuelisierung wie man den aktuellen Homepilot 2 ansteuern kann?
Mich würde interessieren wie genau die URL aussehen muss, um beispielsweise einen Aktor ein- und auszuschalten? Irgendwie komme ich mit den PUT Anweisungen oben nicht zu recht.
Viele Grüße
Mark
Hi Mark,
leider habe ich aktuell keinen HP2 zur Verfügung um mir das einmal genauer anschauen zu können.
Hat sich die API verändert? läuft auf dem HP2 eine komplett andere FW als auf dem HP1?
Beste Grüße und schöne Weihnachten!!
Hallo Marvin,
ich denke, es handelt sich um die o.g. Firmewareumstellung in 09/2019. Marius hat ja ein paar Beispiele aufgezeigt.
Ehrlich gesagt bin ich wahrscheinlich zu blöde die PUT Anweisung im Browser einzugeben. (z.B. PUT http://IP-HOMEPILOT/devices/1010004
{“name”: “GOTO_POS_CMD”, “value”: 50}). Hast Du da vielleicht einen Tipp, wie ich das bewerkstelligt bekomme?
Die ID usw. habe ich natürlich ausgelesen und das klappt soweit alles ganz gut, ich kriege nur die Put Anweisung nicht abgesetzt… Ich frage mich eh, warum Rademacher da so ein Geheimnis draus macht und nicht einfach die API-Doku veröffentlicht.
Viele Grüße
Mark
Keiner eine Idee????
Hey Mark,
im Browser selber klappt es nicht.
Entweder du arbeitest mit JS, PHP oder anderen Sprachen und nutzt z.b. cURL oder du machst es mit Postman und lässt dir die Codes erstellen.
Rollos zu bewegen ist wie schon oben geschrieben „GOTO_POS_CMD“ mit einem wert 0-100
Dann gibt es noch STOP_CMD mit wert = true (dann werden die Rollos angehalten.
Mittels Browser kannst du dir die Config der Geräte anschauen:
http://[IP]/devices/%5Bdid%5D
Der rest ist try and error.
Du hast die Falschen Anführungszeichen!
So muss es aussehen!
Payload: {„name“: „GOTO_POS_CMD“, „value“: #Position#}
Hallo Mark,
Du kannst mit „Advanced Rest Client“ Extension für Chrome Put Befehle erstellen. Ich konnte damit in 3 Minuten das PUT Beispiel erfolgreich ausführen. Als body content stellst Du „application/json“ ein und „Raw Input“. Dann kopierst Du einfach den json Code oben ein: {“name”: “GOTO_POS_CMD”, “value”: 50}
Wichtig: Die Anführungszeichen musst Du evtl. im Editor nochmal neu eintippen damit der Code fehlerfrei eingelesen werden kann.
VG
Helge
Hallo, gibt es eigentlich eine offizielle Dokumentation der REST Api?
Ist es auch möglich die Geräte über die Cloud anzusteuern oder nur über die interne IP Adresse wenn man sich im gleichen Netzwerk befindet?
Hi Alex,
mir ist keine dokumentierte API bekannt.
Hey,
ist die obige Anleitung eigentlich für den HomePilot 1 oder schon für den 2er?
Grüße
Kalle
Ich würde gerne einen Homepilot 3 kaufen.
Hat er noch eine lokale REST-API unter der Adresse http://HomePilotIP/v4/devices oder gibt es eine andere? Ist es stabil?
I would like to control: Status (http://HomePilotIP/devices/deviceID X), UP (POS_UP_CMD), Down (POS_DOWN_CMD), Position (GOTO_POS_CMD), Modus (Auto/Manuell) ??)
Moin Leute.
Das klingt hier ja fast zu schön um Wahr zu sein.
Ich möchte gerne meinen HomePilot 3 über C++ Ansteuern.
Die Skripte sollen auf meiner Siemens Runtime laufen.
Läuft die API im HomePilot oder muss ich da selber noch etwas machen?
Kann ich direkt die Links über C++ ansprechen?
Danke für eure Hilfe und sorry, ich kenn mich in dieser programmiert Welt nicht so gut aus.
Moin Leute,
Ich bin es nochmal,
muss ich denn bei
{„name“:“POS_UP_CMD“}
den Namen von dem Teilnehmer eingeben?
und
meine did adressen sind alle 1 und 2 stellig Wieso sind die in dem Beispiel so lang? muss man die noch convertieren?
Hallo zusammen,
Ich habe das selbe Problem wie Jannik. Hier mal ein Auzug der device Liste:
{„response“:“get_visible_devices“,“devices“:[{„description“:“Rollo Arbeitzimmer“,“deviceGroup“:2,“did“:1,“hasErrors“:0,“iconSetInverted“:0,“iconSet“:{„k“:“iconset15″},“messages“:[],“name“:“Rollo Arbeitszimmer“,“properties“:{„closingContact“:3,“dawn“:3,“dusk“:3,“motion“:3,“rain“:3,“smartphone“:3,“smoke“:3,“sun“:3,“temperature“:3,“time“:3,“trigger“:3,“warning“:3,“wind“:3},“statusValid“:true,“statusesMap“:{„Manuellbetrieb“:0,“Position“:24},“visible“:true,“deviceNumber“:“16234511_A“,“uid“:“618844_A_1″,“voiceControlledBy“:“Alexa,Google“,“origin“:“HomePilot“},{„description“:“Ihre Gerätebeschreibung“,“deviceGroup“:2,“did“:3,“hasErrors“:0,“iconSetInverted“:0,“iconSet“:{„k“:“iconset15″},“messages“:[],“name“:“Wohnzimmer links“,“properties“:{„closingContact“:3,“dawn“:3,“dusk“:3,“motion“:3,“rain“:3,“smartphone“:3,“smoke“:3,“sun“:3,“temperature“:3,“time“:3,“trigger“:3,“warning“:3,“wind“:3},“statusValid“:true,“statusesMap“:{„Manuellbetrieb“:100,“Position“:0},“visible“:true,“deviceNumber“:“16234511_A“,“uid“:“615bb5_A_1″,“voiceControlledBy“:“Alexa,Google“,“origin“:“HomePilot“},{„description“:“Ihre Gerätebeschreibung“,“deviceGroup“:2,“did“:5,“hasErrors“:0,“iconSetInverted“:0,“iconSet“:{„k“:“iconset15″},“messages“:[],“name“:“Wohnzimmer links“,“properties“:{„closingContact“:3,“dawn“:3,“dusk“:3,“motion“:3,“rain“:3,“smartphone“:3,“smoke“:3,“sun“:3,“temperature“:3,“time“:3,“trigger“:3,“warning“:3,“wind“:3},“statusValid“:true,“statusesMap“:
Hallo,
gibt es eine Möglichkeit, auf das CLI des Homepilot 1 zuzugreifen? Ich kann zwar bequem von meinem openhab über die REST API zugreifen, aber wenn mir der Homepilot mal abrauchen sollte, wars das und per SNMP überwachen lässt sich das Teil aktuell leider auch nicht.
Grüße
Frank