Difference between revisions of "Homewizard"
(10 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
Switch scenes: | Switch scenes: | ||
* /gp/<scene-number>/<on|off> | * /gp/<scene-number>/<on|off> | ||
+ | |||
+ | == Triggers == | ||
+ | The list of triggers: (thanks to Gert, who sent me this via email) | ||
+ | * /triggers [[HomeWizard triggers Json output]] | ||
+ | |||
+ | The time-notations are: | ||
+ | * Interval: | ||
+ | * 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15" | ||
+ | * Valid during whole day: "startTime": "00:00", "endTime": "23:59", | ||
+ | * At specific time: | ||
+ | * "type": "time", "time": "22:30", | ||
+ | |||
+ | == Other commands == | ||
+ | * /get-status : state of all sensors | ||
+ | * /get-sensors : all devices and sensors | ||
+ | * /notifications: all your notifications | ||
+ | * /nf-receivers: notification receivers | ||
+ | * /timers: overview of timers | ||
+ | * /suntimes/today: sunrise & sunset of today | ||
+ | * /wea/get: your location according to HomeWizard | ||
+ | |||
+ | == Status information == | ||
+ | This one is a little different, since no passwd is needed in the URL: | ||
+ | * http://<homewizard-IP>/handshake | ||
+ | Returned Json is: | ||
+ | { | ||
+ | "status": "ok", | ||
+ | "version": "3.372", | ||
+ | "request": { | ||
+ | "route": "/handshake" | ||
+ | }, | ||
+ | "response": { | ||
+ | "homewizard": "yes", | ||
+ | "version": "3.372", | ||
+ | "firmwareupdateavailable": "no", | ||
+ | "appupdaterequired": "no", | ||
+ | "serial": "xxxxxxxxxx" | ||
+ | } | ||
+ | } | ||
== Energy monitoring == | == Energy monitoring == | ||
* /enlist | * /enlist | ||
− | == Energy Link == | + | === Energy Link === |
Graph voor EnergyLink | Graph voor EnergyLink | ||
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]> | * http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]> | ||
Line 51: | Line 90: | ||
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]] | [[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Loxx doorlock == | == Loxx doorlock == | ||
Line 84: | Line 114: | ||
* /sf/0/up | * /sf/0/up | ||
* /sf/0/stop | * /sf/0/stop | ||
+ | |||
+ | == Radiator Valves == | ||
+ | * /sw/1/settarget/16 with "1" being the id and "16" the temperature. | ||
+ | |||
+ | == Heatlink == | ||
+ | The heatlink can be controlled with: | ||
+ | |||
+ | * http://ip/<password>/hl/0/settarget/<temperature>/<minutes> | ||
+ | |||
+ | <minutes> is optional, and indicates the duration of the "setpoint override". | ||
+ | |||
+ | The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported. | ||
== Smoke-detectors == | == Smoke-detectors == | ||
Line 130: | Line 172: | ||
=== Wind data === | === Wind data === | ||
+ | URLs: | ||
+ | * wi/graph/<sensor-number>/ | ||
+ | * wi/graph/<sensor-number>/day | ||
+ | * wi/graph/<sensor-number>/week | ||
+ | |||
+ | No urls available for month or year. | ||
+ | |||
* ws - Windspeed | * ws - Windspeed | ||
* dir - wind direction (name) and degrees | * dir - wind direction (name) and degrees | ||
Line 146: | Line 195: | ||
=== Precipitation data === | === Precipitation data === | ||
+ | URLs: | ||
+ | * ra/graph/{ID-rainmeter}/day | ||
+ | * ra/graph/{ID-rainmeter}/week | ||
+ | * ra/graph/{ID-rainmeter}/month | ||
+ | * ra/graph/{ID-rainmeter}/year | ||
+ | With: | ||
* mm - precipitation in mm (of today?) | * mm - precipitation in mm (of today?) | ||
* 3h - precipitation in mm of the last 3 hours | * 3h - precipitation in mm of the last 3 hours | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== IP switches == | == IP switches == | ||
Line 190: | Line 233: | ||
Body: | Body: | ||
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope> | <?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope> | ||
+ | |||
+ | === B&O TV Avant === | ||
+ | To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard: | ||
+ | |||
+ | * Power On: | ||
+ | Type Wake on Lan | ||
+ | MAC adres XX-XX-XX-XX-XX-XX | ||
+ | |||
+ | * Power off: | ||
+ | Type HTTP-POST | ||
+ | URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower | ||
+ | Body: (empty) | ||
+ | Extra headers: Accept: application/json | ||
== Switch Preset == | == Switch Preset == | ||
Line 205: | Line 261: | ||
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps. | * The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps. | ||
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier] | * Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier] | ||
+ | * Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email. | ||
+ | * URLs of rain-meters found by [https://gathering.tweakers.net/forum/list_message/49352563#49352563 David82] | ||
+ | * URLs for the wind-meter found by [https://gathering.tweakers.net/forum/list_message/49379987#49379987 Xtremer] |
Latest revision as of 21:00, 7 December 2016
The home-wizard URLs:
Note that the password is sent plain-text in the url. Base of url is: http://<ip-homewizard>/<wachtwoord>
Contents
Switches and dimmers
Read switchnumbers:
- /swlist
Read sensor status:
- /get-sensors Homewizard_get_sensors_json_output
Switch (e.g. lamp) on or off:
- /sw/<switch-number>/<on|off>
Operate dimmer:
- /sw/dim/<dimmer-number>/<value 0 ... 255>
Scenes
Get list of scenes:
- /gplist
Switch scenes:
- /gp/<scene-number>/<on|off>
Triggers
The list of triggers: (thanks to Gert, who sent me this via email)
- /triggers HomeWizard triggers Json output
The time-notations are:
- Interval:
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15" * Valid during whole day: "startTime": "00:00", "endTime": "23:59",
- At specific time:
* "type": "time", "time": "22:30",
Other commands
- /get-status : state of all sensors
- /get-sensors : all devices and sensors
- /notifications: all your notifications
- /nf-receivers: notification receivers
- /timers: overview of timers
- /suntimes/today: sunrise & sunset of today
- /wea/get: your location according to HomeWizard
Status information
This one is a little different, since no passwd is needed in the URL:
- http://<homewizard-IP>/handshake
Returned Json is:
{ "status": "ok", "version": "3.372", "request": { "route": "/handshake" }, "response": { "homewizard": "yes", "version": "3.372", "firmwareupdateavailable": "no", "appupdaterequired": "no", "serial": "xxxxxxxxxx" } }
Energy monitoring
- /enlist
Energy Link
Graph voor EnergyLink
- http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]>
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ] With:
- t = timestamp
- u = used
- a = netto consumption
- s1 = s1 input
- s2 = s2 input
- g = gas consumption
Meter readings: (Total power-consumption/production and Gas consumption)
- http://<homewizard-ip>/<password>/el/get/0/readings
Last data from EnergyLink:
- http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)
Collect buttons for Scene and their status:
- http://<homewizard-ip>/<password>/gp/get/<scene id>
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.
Loxx doorlock
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/ [source]
- /sw/18/open : Open Door
- /sw/18/mode/one_night : Lock for the night (one night)
- /sw/18/mode/night : Lock (night mode)
- /sw/18/mode/knock : Knock mode
Awareness
Detection-sensors will be registered with an ID starting at 0 and a log will be created. This log will contain a timestamp for each event.
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.
The logs and snapshots can be retrieved using:
- /kks/get/<id>/log
- /kks/get/<id>/snap/<snapshotid>
Somfy
- /sf/0/down
- /sf/0/up
- /sf/0/stop
Radiator Valves
- /sw/1/settarget/16 with "1" being the id and "16" the temperature.
Heatlink
The heatlink can be controlled with:
- http://ip/<password>/hl/0/settarget/<temperature>/<minutes>
<minutes> is optional, and indicates the duration of the "setpoint override".
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.
Smoke-detectors
To trigger the alarm of the smoke detectors, use:
With id the ID of the smoke-detector.
Temperature sensors
New temperature sensors will be assigned an ID starting at 0. The temperature and humidity will be logged with a timestamp.
Get a list of temperature-sensors:
- /telist
To get the log:
- /te/graph/<id>/day-week-month-year
Resolution
Day For the current day, the resolution is one sample per 15 minutes.
Week 20% of the data will be kept by removing 4 entries out of 5.
Month For each day, the minimum and maximum value will be stored.
Year Minimum and maximum of each month will be stored.
Temperature data
- te - temperature
- hu - humidity
- te+ - maximum temperature
- te+t - timestamp maximum temperature
- te- - minimum temperature
- te-t - timestamp minimum temperature
- hu+ - maximum humidity
- hu+t - timestamp maximum humidity
- hu- - minimum humidity
- hu-t - timestamp minimum humidity
- outside - (new in 2.56 firmware, either yes or no)
Weather sensors
- /wilist wind-data
- /ralist Data from the rain sensor.
Wind data
URLs:
- wi/graph/<sensor-number>/
- wi/graph/<sensor-number>/day
- wi/graph/<sensor-number>/week
No urls available for month or year.
- ws - Windspeed
- dir - wind direction (name) and degrees
- gu - windgust speed
- wc - wind temperature
- ws+ - maximum windspeed
- ws+t - timestamp of maximum windspeed
- ws- - minimum windspeed
- ws-t - timestamp of minumum windspeed
Units can be selected in the homewizard app. (Edit sensor)
- km/h
- m/s
- Bft
- Kts
Precipitation data
URLs:
- ra/graph/{ID-rainmeter}/day
- ra/graph/{ID-rainmeter}/week
- ra/graph/{ID-rainmeter}/month
- ra/graph/{ID-rainmeter}/year
With:
- mm - precipitation in mm (of today?)
- 3h - precipitation in mm of the last 3 hours
IP switches
Sonos
Original post by J-D and Dirkmans
Controling the Sonos via HTTP post commands. See here for more about this.
"Stop" and "Play" example
Method:
HTTP Post
URL:
http://SONOSIP:1400/MediaRenderer/AVTransport/Control
Stop
Headers:
Content-type: text/xml;charset="utf-8" SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"
Body:
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope>
Play
Headers:
Content-type: text/xml;charset="utf-8" SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"
Body:
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope>
B&O TV Avant
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:
- Power On:
Type Wake on Lan MAC adres XX-XX-XX-XX-XX-XX
- Power off:
Type HTTP-POST URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower Body: (empty) Extra headers: Accept: application/json
Switch Preset
- http://ipadres/password/preset/0 (Home)
- http://ipadres/password/preset/1 (Away)
- http://ipadres/password/preset/2 (Sleep)
- http://ipadres/password/preset/3 (Holiday)
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on ) Thanks to Marcel Wolf for emailing me this.
Used sources
- https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb
- Homewizards.nl - Data uitlezen
- The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.
- Weather-sensor information was emailed to me by Michel Jongepier
- Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email.
- URLs of rain-meters found by David82
- URLs for the wind-meter found by Xtremer