Difference between revisions of "Homewizard"
(32 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
Base of url is: http://<ip-homewizard>/<wachtwoord> | Base of url is: http://<ip-homewizard>/<wachtwoord> | ||
− | + | == Switches and dimmers == | |
− | == Read switchnumbers | + | Read switchnumbers: |
* /swlist | * /swlist | ||
− | + | Read sensor status: | |
− | * /get-sensors | + | * /get-sensors [[Homewizard_get_sensors_json_output]] |
− | + | Switch (e.g. lamp) on or off: | |
* /sw/<switch-number>/<on|off> | * /sw/<switch-number>/<on|off> | ||
− | + | Operate dimmer: | |
* /sw/dim/<dimmer-number>/<value 0 ... 255> | * /sw/dim/<dimmer-number>/<value 0 ... 255> | ||
− | == | + | == Scenes == |
+ | Get list of scenes: | ||
+ | * /gplist | ||
+ | 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 == | == Other commands == | ||
Line 29: | Line 43: | ||
* /wea/get: your location according to HomeWizard | * /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. | ||
+ | |||
+ | [[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]] | ||
+ | |||
+ | == Loxx doorlock == | ||
+ | Basic URL example: http://10.0.1.1:80/****/sw/18/mode/ | ||
+ | [[http://gathering.tweakers.net/forum/list_message/43574284#43574284 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. | 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. | This log will contain a timestamp for each event. | ||
Line 39: | Line 106: | ||
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. | 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 can be retrieved using: | + | The logs and snapshots can be retrieved using: |
* /kks/get/<id>/log | * /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: | ||
+ | * http://ip/password/kks/testsmoke/id | ||
+ | With ''id'' the ID of the smoke-detector. | ||
== Temperature sensors == | == Temperature sensors == | ||
Line 47: | Line 136: | ||
The temperature and humidity will be logged with a timestamp. | The temperature and humidity will be logged with a timestamp. | ||
− | + | Get a list of temperature-sensors: | |
+ | * /telist | ||
To get the log: | To get the log: | ||
* /te/graph/<id>/day-week-month-year | * /te/graph/<id>/day-week-month-year | ||
− | === | + | === Resolution === |
+ | '''Day''' | ||
For the current day, the resolution is one sample per 15 minutes. | 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. | 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. | For each day, the minimum and maximum value will be stored. | ||
− | + | '''Year''' | |
Minimum and maximum of each month will be stored. | 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 === | ||
+ | [http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans] | ||
+ | |||
+ | Controling the Sonos via HTTP post commands. | ||
+ | [https://community.zipato.com/topic/controlling-sonos-system 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 | ||
+ | * [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 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 [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