Skip to content

Commit

Permalink
Initial working version of the intergas incomfort pimatic plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
sirchia committed Feb 21, 2016
1 parent 3a854c8 commit 6ee3900
Show file tree
Hide file tree
Showing 6 changed files with 399 additions and 240 deletions.
58 changes: 20 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,57 +5,39 @@ Plugin to control an Intergas central heating boiler through Incomfort Lan2RF ga

Configuration
-------------
You can load the plugin by editing your `config.json` to include (host = Max!Cube IP port=Max!Cube Port (default:62910)):
You can load the plugin by editing your `config.json` to include it:

````json
{
"plugin": "intergasincomfort",
"host": "192.168.X.X"
"plugin": "intergasincomfort"
}
````

Use the debug output in pimatic to find out the rfAddress of the devices. Sample debug output:
Thermostats and temperature sensors can be defined by adding them to the `devices` section in the config file.
For all configuration options see [device-config-schema](device-config-schema.coffee)

````
09:04:42.165 [pimatic-intergasincomfort] got update
09:04:42.168 [pimatic-intergasincomfort] { type: 'Heating Thermostat',
09:04:42.168 [pimatic-intergasincomfort]> address: '12345cf', <-- rfAddress
09:04:42.168 [pimatic-intergasincomfort]> serial: 'KEQ04116',
09:04:42.168 [pimatic-intergasincomfort]> name: 'Heizung',
09:04:42.168 [pimatic-intergasincomfort]> roomId: 1,
09:04:42.168 [pimatic-intergasincomfort]> comfortTemperature: 23,
09:04:42.168 [pimatic-intergasincomfort]> ecoTemperature: 16.5,
09:04:42.168 [pimatic-intergasincomfort]> maxTemperature: 30.5,
09:04:42.168 [pimatic-intergasincomfort]> minTemperature: 4.5,
09:04:42.168 [pimatic-intergasincomfort]> temperatureOffset: 3.5,
09:04:42.168 [pimatic-intergasincomfort]> windowOpenTemperature: 12,
09:04:42.168 [pimatic-intergasincomfort]> valve: 0,
09:04:42.168 [pimatic-intergasincomfort]> setpoint: 17,
09:04:42.168 [pimatic-intergasincomfort]> battery: 'ok',
09:04:42.168 [pimatic-intergasincomfort]> mode: 'manu' }
````

Thermostats can be defined by adding them to the `devices` section in the config file.
Set the `class` attribute to `MaxHeatingThermostat`. For example:
Set the `class` attribute to `IntergasIncomfortHeatingThermostat`. For example:

```json
{
"id": "bathroomLeft",
"class": "MaxHeatingThermostat",
"name": "Bathroom Radiator left",
"rfAddress": "12345cf",
"comfyTemp": 23.0,
"ecoTemp": 17.5,
{
"id": "thermostat",
"name": "Thermostat",
"class": "IntergasIncomfortHeatingThermostat",
"connection": {
"host": "192.168.1.11",
}
}
```

For contact sensors add this config:
For the temperature sensors add this config:

```json
{
"id": "window-bathroom",
"class": "MaxContactSensor",
"name": "Bathroom Window",
"rfAddress": "12345df"
{
"id": "roomTemperature",
"name": "Current room temperature",
"class": "IntergasIncomfortTemperatureSensor",
"connection": {
"host": "192.168.1.11",
}
}
```
55 changes: 51 additions & 4 deletions device-config-schema.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,29 @@ module.exports = {
title: "IntergasIncomfortHeatingThermostat config options"
type: "object"
properties:
connection:
description: "All Lan2RF connection settings"
type: "object"
properties:
host:
description: "The IP address of the Lan2RF Gateway"
type: "string"
updateInterval:
description: "The amount of ms between each update pull from the Lan2RF Gateway"
type: "integer"
default: 60000
heaterId:
description: "The ID of the boiler connected to the Lan2RF gateway"
type: "integer"
default: 0
roomId:
description: "The room ID of the thermostat, may be 0 or 1"
type: "integer"
default: 0
debug:
description: "Output update message from Lan2RF and additional infos"
type: "boolean"
default: false
comfyTemp:
description: "The defined comfy temperature"
type: "number"
Expand All @@ -12,10 +35,6 @@ module.exports = {
description: "The defined eco mode temperature"
type: "number"
default: 17
vacTemp:
description: "The defined vacation mode temperature"
type: "number"
default: 14
guiShowModeControl:
description: "Show the mode buttons in the gui"
type: "boolean"
Expand All @@ -32,5 +51,33 @@ module.exports = {
description: "Show the valve position in the gui"
type: "boolean"
default: true
},
IntergasIncomfortTemperatureSensor: {
title: "IntergasIncomfortTemperatureSensor config options"
type: "object"
properties:
connection:
description: "All Lan2RF connection settings"
type: "object"
properties:
host:
description: "The IP address of the Lan2RF Gateway"
type: "string"
updateInterval:
description: "The amount of ms between each update pull from the Lan2RF Gateway"
type: "integer"
default: 60000
heaterId:
description: "The ID of the boiler connected to the Lan2RF gateway"
type: "integer"
default: 0
roomId:
description: "The room ID of the temperature sensor, may be 0 or 1"
type: "integer"
default: 0
debug:
description: "Output update message from Lan2RF and additional infos"
type: "boolean"
default: false
}
}
10 changes: 1 addition & 9 deletions intergasincomfort-config-schema.coffee
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
module.exports = {
title: "intergasinfcomfort-thermostat config"
type: "object"
properties:
host:
description: "The IP of the Lan2RF Gateway"
type: "string"
default: "127.0.0.1"
debug:
description: "Output update message from Lan2RF and additional infos"
type: "boolean"
default: true
properties: {}
}
Loading

0 comments on commit 6ee3900

Please sign in to comment.