Vimar integration - WIP

Hi,
I have started quite a while ago with an integration for an Italian KNX-like system named VIMAR. They offer control over lights, shades, switches, outlets, video, music, climate and current load and much more. Optionally you can have their by-me web server installed so you can trigger everything from the network. That’s where this integration hooks into. It recreates the HTTP calls that are made from that web interface through python.

So far I can authenticate, list devices, control lights, switches, fans and shades. The repository can be found here: h4de5/home-assistant-vimar

Example setup:

If you have such a system and want to try it out, please be aware that I have only tested it on one system (which is my own). I cannot take any responsibility for any damages resulting in using this. This is not only my first integration into home-assistant but also my first python project (!!).

Having said that: I am looking for someone who can help me with the home-assistant part. I am trying to keep up with the requirements for new integrations but I am lost - I am still used to setup everything from yaml files - and even though I read through the developers documentations, I still don’t understand some of the concepts. Any help or tips are highly appreciated.

VIMAR Logo:

VIMAR web interface

Some links:


https://www.vimar.com/en/int/catalog/product
*back-story*

We built our house in 2016+1. I always wanted to have my own home-automation system and therefore planed everything with that mind. When it came to the final decision it was between a well known but expensive KNX system and the rather unknown Italian copy called VIMAR. We settled on Vimar because - at that point - we had a local maintainer who supported us during the setup. At some point later that maintainer removed the system from its own product range. So I had no one to turn to for questions about how things work internally. What I found out on my own is, that this web server does not spark joy as it lacks any interfaces that could be used for things like automations. As a result the link integration, even though it is working pretty smooth, is in its design really hacky … and is not very nice to look at. Sorry for that :wink:

Just a small update: with the help of some volunteers, we were able to fix some early setup issues and have just added an integration for reading out climates:

Hi,

congratulations for the very interesting project !!!

As soon as i have a vimar web server i will be happy to help you.

What climate equipment do you have? Can you also control the switching on and off?

Matteo

Hello.
I have some of these in white: https://www.vimar.com/en/int/catalog/obsolete?keyword=20514
Where you can control the modes : heating, cooling, idle, off and auto, as well as the target temperature.
Some other testers have different devices that let you control additionally a fancoil and an auxiliary heater through the integration.

As the heating and cooling source I have a heating pump from vaillant, where I use another custom component and an AC which I cannot control through hass yet.

Looking forward for your input.

Just another progress update: Automatically discovering of energy guards, scenes and radio/media players have been added.


Also some restrictions like a maximum total number of states and a minimum delay between status updates have been removed.

Hello.
I tried your integration it seems to work quite well.
Sometimes, however, the devices become unreachable.
I also noticed that the thermostats you have are different from mine (I have 02951 and 19538). Both if set in cooling mode do not accept the command and remain in heating mode.

term

I try to attach the attributes:

Response: DBMG-000
NextRows: 24
Row000001: 'ID','NAME','STATUS_ID','CURRENT_VALUE'
Row000002: '229','_DPAD_DBCONSTANT_VIMAR_BYME_TRIGGEROBJECT_VIDEOMESSAGE_UNHANDLED','-1','0'
Row000003: '265','_DPAD_DBCONSTANT_VIMAR_BYME_TRIGGEROBJECT_SENSORS_HUMIDITY_ALARM','-1','0'
Row000004: '270','_DPAD_DBCONSTANT_VIMAR_BYME_TRIGGEROBJECT_SAI2_LOG_ALARM','-1','0'
Row000005: '31561','_DPAD_PRODUCT_VIMARBYME_CERTIFICATE_TRIGGER','-1','0'
Row000006: '62791','forzatura off','-1','0'
Row000007: '62793','allarme_massetto','-1','0'
Row000008: '62795','regolazione','-1','1'
Row000009: '62799','modalita_fancoil','-1','0'
Row000010: '62801','velocita_fancoil','-1','0'
Row000011: '62803','funzionamento','-1','6'
Row000012: '62811','setpoint','-1','25.00'
Row000013: '62819','temporizzazione','-1','1'
Row000014: '62830','temperatura_misurata','-1','25.70'
Row000015: '62833','stato_boost on/off','-1','0'
Row000016: '62834','stato_principale_condizionamento on/off','-1','0'
Row000017: '62835','stato_principale_riscaldamento on/off','-1','0'
Row000018: '63695','uscita4','-1','non_utilizzata'
Row000019: '63696','uscita3','-1','non_utilizzata'
Row000020: '63697','uscita2','-1','CH_Uscita_ValvolaOnOff'
Row000021: '63698','uscita1','-1','CH_Uscita_ValvolaOnOff'
Row000022: '74729','T1','-1',''
Row000023: '74730','T2','-1',''
Row000024: '74731','T3','-1','

and try to explain

Row000006: #i don't know
Row000007: #alarm temp for cooling floor
Row000008: # heating/cooling/neutral zone
Row000009: #fan auto or manual
Row000010: #fan speed
Row000011: #mode of operation
Row000012: #desired temperature
Row000013: #timer (forcing temp)
Row000014: #current temp
Row000015: #activates second output to reach the setpoint first
Row000016: #cooling on/ff
Row000017: #heating on/ff
Row000018: #out4
Row000019: #out3
Row000020: #out2
Row000021: #out1 (this
Row000022: #setpoint 1
Row000023: #setpoint 2
Row000024: #setpoint 3 (this three are for auto cooling/heating)

however, many explanations of the attributes can be found in the logical unit manual which can be found here:

Thanks for the explanation. Can you point me to the part in the pdf where the fields are explained? Could not find them right away.

I just tried to change the mode and it did not do what i expected. I will have a look at the climates asap.

page 33. all setting of thermostat

a great. i was searching for the names in the xml response.I’ll have a look at it.

@pod: I uploaded a new version, please update and try again.

Hello.
I tested the new version. There is still a problem.
The heating control only works when the thermostat is already set to heating. When it is set to cooling it does not switch to the heating function.

The cooling control works correctly

EDIT:
another observation. I have a system where knx components are also present and I have also noticed that they are not recognized

2020-09-17 11:18:58 WARNING (SyncWorker_4) [custom_components.vimar_platform.vimarlink] Unknown object returned from web server: CH_KNX_RELE / Attivazione Elettrodomestici
2020-09-17 11:18:58 WARNING (SyncWorker_4) [custom_components.vimar_platform.vimarlink] Unknown object returned from web server: CH_HVAC / Esterno - Clima
2020-09-17 11:18:58 WARNING (SyncWorker_4) [custom_components.vimar_platform.vimarlink] Unknown object returned from web server: CH_KNX_GENERIC_POWER_KW / kW Immissione
2020-09-17 11:18:58 WARNING (SyncWorker_4) [custom_components.vimar_platform.vimarlink] Unknown object returned from web server: CH_KNX_GENERIC_POWER_KW / kW Set Attivazione (1.0-7.0)

see breaking changes of HA 0.115

Please note that the integration does - by far - not support all available vimar devices yet. I started with those I use in my installation and with the help, of some users on github, we added more on by one.

Having said that, I would need more information about those devices. Did you enable debug logs for custom_component.vimar_platform in your configuration.yaml? the unknown objects should list attributes that can be integrated into hass.

in regards of the cooling/heating setting: Currently I am changing the flag: regolazione (Row000008) to 0 for heating and to 1 for cooling. Which are the settings from my system. Can you check the attributes (like you did before) when your device is set to heating? maybe I need to set it to a different value.

I have enabled logging from configuration.yaml but there are no highlighted values. now i’m doing some housework and i can’t go into it. I will do it as soon as possible.

the correct value for heating is 2. 0 is for the neutral zone. all these values are present in the file I attached to you earlier.

in the final analysis, even not everything is supported, :wink: I would like to thank you because in my opinion you are doing an excellent job and helping makes me very happy

You are absolutely right. I had page 34 open.
It seems there are even more different climate controls/thermostats out there, cause mine seems to have different mode values (manual has 6 on mine)
anyways - heating is now on 2. new version is uploaded - let me know if this works.

do you have - by any change - maybe shutters with position or audio/radio devices in your installation? I would like to integrate the former one and have some issues with the later.

can you check if you enabled debug level? I just noticed that in the docs it says info which will not show all entries.

logger:
  default: warning
  logs:
    custom_components.vimar_platform: debug

Good morning, i have Vimar By-me 01945 and i would like to expand the system (with Amazon Alexa, IFTTT and others). I would like to ask how you can interact with the webserver…do i need a raspberry linked with bus? Where can i find the first steps to start with this project?
Thanks a lot and congratulations, i really appreciate your job!

Hi - you just need to clone the github repository into your config/custom_components directory and add the config entry accordingly - most of it is described here: https://github.com/h4de5/home-assistant-vimar

right now, the setup is indeed the hardest part, as I could not implement any gui elements or hacs support yet. But once you see it successfully connected to the webserver, it should work out of the box.

Yes! Now working :slight_smile:

I have no audio integrations but they are also configurable via logic unit and all available values are written in the manual in section 4.7 on page 40

However, I have roller shutters with percentage movement. There are four types of roller shutters.

  • roller shutters up / down
  • roller shutters whit percentage opening (mine)
  • roller shutters with slats
  • roller shutters with slats and percentage opening

All of these types are described in the logical drive manual in section 4.4 on page 36-37
These are the values of the ones I have installed in my system:

Row000006: '72571','position','-1','100'
Row000007: '72575','stop up/stop down','-1','0'
Row000008: '72577','up/down','-1','1'

in home assistant and google assistant it is recognized but there is no possibility to set a percentage value
shutter2

You are right. I had set up debugging incorrectly. Now i can read this in the log file:

2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_TIME_S / Integrazione Resistenza
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'value': {'status_id': '59303', 'status_value': '899.84', 'status_range': 'min=900|max=3600'}}
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_ONOFF / Modalita in Casa
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'on/off': {'status_id': '60364', 'status_value': '0', 'status_range': 'min=0|max=1'}}
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_ONOFF / Piano Sotto - Basculante Aperta
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'on/off': {'status_id': '35531', 'status_value': '0', 'status_range': 'min=0|max=1'}}
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_ONOFF / Telecamere Appartamento
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'on/off': {'status_id': '5749', 'status_value': '1', 'status_range': 'min=0|max=1'}}
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_ONOFF / Telecamere Esterno
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'on/off': {'status_id': '5752', 'status_value': '1', 'status_range': 'min=0|max=1'}}
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_ONOFF / Telecamere Garage
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'on/off': {'status_id': '5755', 'status_value': '1', 'status_range': 'min=0|max=1'}}
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_ONOFF / Telecamere Terrazza
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'on/off': {'status_id': '5758', 'status_value': '1', 'status_range': 'min=0|max=1'}}
2020-09-22 21:47:17 WARNING (SyncWorker_15) [custom_components.vimar_platform.vimarlink] Unknown object returned from web server: CH_KNX_GENERIC_POWER_KW / kW Immissione
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] Unknown object has states: {'value': {'status_id': '58240', 'status_value': '0.00', 'status_range': 'min=-670760|max=670760'}}
2020-09-22 21:47:17 WARNING (SyncWorker_15) [custom_components.vimar_platform.vimarlink] Unknown object returned from web server: CH_KNX_GENERIC_POWER_KW / kW Set Attivazione (1.0-7.0)
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] Unknown object has states: {'value': {'status_id': '48850', 'status_value': '1.50', 'status_range': 'min=1.0|max=7.0'}}
2020-09-22 21:47:17 WARNING (SyncWorker_15) [custom_components.vimar_platform.vimarlink] Unknown object returned from web server: CH_KNX_RELE / Attivazione Elettrodomestici
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] Unknown object has states: {'on/off': {'status_id': '48853', 'status_value': '0', 'status_range': 'min=0|max=1'}}
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object returned from web server: CH_KNX_GENERIC_ONOFF / Attivazione Logica VMC
2020-09-22 21:47:17 DEBUG (SyncWorker_15) [custom_components.vimar_platform.vimarlink] KNX object has states: {'on/off': {'status_id': '56131', 'status_value': '1', 'status_range': 'min=0|max=1'}}

These are all the components it does not recognize and they are all “knx datapoints”. Vimar by-me uses a “knxlike” system and in fact it is possible to integrate all the knx components. The ones you see in this list are all virtual datapoints that I use to make the system recognize certain events. But I don’t think it changes much in fact the configuration to be done (via ETPRO) is the same for real or virtual components
A strange thing… The “CH_KNX_GENERIC_ONOFF” components are recognized correctly even if they are present in this list

knx

A list of all the datapoints with the relative values is available only by installing the (free) vimar ETPro programming software.
For example:

I approached this world for the same reason as you.
This and this are good starting points