Difference between revisions of "Homewizard"

From TD-er's Wiki
Jump to navigationJump to search
 
(31 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 switchen and sensor status ==
+
Read sensor status:
* /get-sensors
+
* /get-sensors [[Homewizard_get_sensors_json_output]]
  
== Switch (e.g. lamp) on or off ==
+
Switch (e.g. lamp) on or off:
 
* /sw/<switch-number>/<on|off>
 
* /sw/<switch-number>/<on|off>
  
== Operate dimmer ==
+
Operate dimmer:
 
* /sw/dim/<dimmer-number>/<value 0 ... 255>
 
* /sw/dim/<dimmer-number>/<value 0 ... 255>
  
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 ==
 
== Other commands ==
Line 32: 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]>
  
== Awareness ==
+
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 42: 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 50: Line 136:
 
The temperature and humidity will be logged with a timestamp.
 
The temperature and humidity will be logged with a timestamp.
  
=== Resolution ===
+
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
  
==== Day ====
+
=== 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 ====
+
'''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 ====
+
'''Month'''
 
For each day, the minimum and maximum value will be stored.
 
For each day, the minimum and maximum value will be stored.
  
==== Year ====
+
'''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>

Switches and dimmers

Read switchnumbers:

  • /swlist

Read sensor status:

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)

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.

[source] [readings-source]

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

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