Closed andreheuer closed 7 years ago
I don't know whether it is a bug or a feature (I think @gerrieg can say more about it), but there are some overlapping features in the CCU and in openHAB. Instead of defining a group in the CCU and setting the group's temperature the you could use a rule on openHAB to achieve the same result.
@gerrieg I have also defined several groups in the CCU but I am not sure yet whether I want to see them in openHAB or not. Maybe its possible to configure this behaviour in the bindin's configuration.
The 1.x binding uses a mix of API calls and TCL-Scripts. The CCU internal groups are available via the scripts. The 2.x binding is 100% Homematic API compliant and i do not know at the moment, if they are supported only via the API. I'll test it and let you know
I have a internal group of smoke detectors and this group is available in PaperUI. Groups are prefixed with a T- (team), so your group should have the address T-INT000001 in openHab.
If you can't see the group, please switch the binding into TRACE mode and send me a full startup log
log:set TRACE org.openhab.binding.homematic
@gerrieg I can see the smoke detector group but no other groups. Maybe this has to do with the group types. The smoke detector group was automatically created when I added the smoke detector device to the CCU. I have 5 groups defined manually (e.g. INT0000007) but none of them is discovered. openhab.zip
I'm not sure if we are talking about the same thing.
There are two kind of groups, one that are automatically added like the smoke detector group and one that we can manually add via settings -> groups. The latter are only groups of the CCU-UI. These groups are not available via API methods.
Yes, you may right that was a misunderstaning. But I am quite sure that @andreheuer also was talking about the same type of (manually defined) groups as I did, because I have a similar device combination in my living room. As far as I know there is no other way of combining these devices to a group.
Update 19.12. These groups allow that the device can communicate among each eather. E.g. if I open the window all radiators lower their temperature and I can use the wall thermostat to set the temperature of the radiators. This is possible without (manually) adding in the CCU. So these groups are not only used to group the devices in the UI.
I have the same issue.
I mean these groups are available over API methods. It's just not a "BidCos-RF" datapoint but an "VirtualDevices" datapoint.
HM-CC-VG-1 - Group heating control Datapoint: VirtualDevices.INTxxxxxxxxx
Following the state query of my environment. 2x HM-CC-RT-DN, 1x HM-SEC-RHS
Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.UPDATE_PENDING / 4043 / UPDATE_PENDING / 20.0 / / 2 / 2017-01-12 21:42 / 1484253756 / 5 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.RSSI_DEVICE / 4039 / RSSI_DEVICE / 20.0 / / 8 / 2017-01-12 21:42 / 1484253756 / 5 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.AES_KEY / 4034 / AES_KEY / 20.0 / / 8 / 2017-01-12 21:42 / 1484253756 / 1 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.DEVICE_IN_BOOTLOADER / 4036 / DEVICE_IN_BOOTLOADER / 20.0 / / 2 / 2017-01-12 21:42 / 1484253756 / 5 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.CONFIG_PENDING / 4035 / CONFIG_PENDING / 20.0 / / 2 / 2017-01-12 21:42 / 1484253757 / 5 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.UNREACH / 4042 / UNREACH / 20.0 / / 2 / 2017-01-12 21:42 / 1484253757 / 5 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.LOWBAT / 4038 / LOWBAT / 20.0 / / 2 / 2017-01-12 21:42 / 1484253757 / 5 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.STICKY_UNREACH / 4041 / STICKY_UNREACH / 20.0 / / 2 / 2017-01-12 21:42 / 1484253757 / 7 Channel: XXXXXXXXXXXXXX INT0000001:0 / 4033 / / Datapoint: VirtualDevices.INT0000001:0.RSSI_PEER / 4040 / RSSI_PEER / 20.0 / / 8 / 2017-01-12 21:42 / 1484253757 / 5 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.CONTROL_MODE / 4050 / CONTROL_MODE / 0 / / 16 / 2017-01-14 22:54 / 1484430844 / 5 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.ACTUAL_HUMIDITY / 4045 / ACTUAL_HUMIDITY / 20.0 / % / 4 / 2017-01-12 21:42 / 1484253757 / 5 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.BOOST_MODE / 4048 / BOOST_MODE / / / 2 / / 0 / 2 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.AUTO_MODE / 4047 / AUTO_MODE / / / 2 / / 0 / 2 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.SET_TEMPERATURE / 4063 / SET_TEMPERATURE / 24.000000 / °C / 4 / 2017-01-14 22:54 / 1484430844 / 7 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.ACTUAL_TEMPERATURE / 4046 / ACTUAL_TEMPERATURE / 23.900000 / °C / 4 / 2017-01-14 22:54 / 1484430844 / 5 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.MANU_MODE / 4052 / MANU_MODE / / °C / 4 / / 0 / 2 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.COMFORT_MODE / 4049 / COMFORT_MODE / / / 2 / / 0 / 2 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.LOWERING_MODE / 4051 / LOWERING_MODE / / / 2 / / 0 / 2 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_TEMPERATURE / 4062 / PARTY_TEMPERATURE / 5.000000 / °C / 4 / 2017-01-14 22:54 / 1484430844 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_START_TIME / 4056 / PARTY_START_TIME / 208 / minutes / 16 / 2017-01-14 22:54 / 1484430844 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_START_DAY / 4054 / PARTY_START_DAY / 1 / day / 16 / 2017-01-14 22:54 / 1484430844 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_START_MONTH / 4055 / PARTY_START_MONTH / 1 / month / 16 / 2017-01-14 22:54 / 1484430844 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_START_YEAR / 4057 / PARTY_START_YEAR / 0 / year / 16 / 2017-01-14 22:54 / 1484430844 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_STOP_TIME / 4060 / PARTY_STOP_TIME / 0 / minutes / 16 / 2017-01-14 22:54 / 1484430845 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_STOP_DAY / 4058 / PARTY_STOP_DAY / 1 / day / 16 / 2017-01-14 22:54 / 1484430845 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_STOP_MONTH / 4059 / PARTY_STOP_MONTH / 1 / month / 16 / 2017-01-14 22:54 / 1484430845 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_STOP_YEAR / 4061 / PARTY_STOP_YEAR / 0 / year / 16 / 2017-01-14 22:54 / 1484430845 / 3 Channel: XXXXXXXXXXXXXX INT0000001:1 / 4044 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:1.PARTY_MODE_SUBMIT / 4053 / PARTY_MODE_SUBMIT / / / 20 / / 0 / 2 Channel: XXXXXXXXXXXXXX INT0000001:2 / 4064 / TRUE / TRUE Datapoint: VirtualDevices.INT0000001:2.STATE / 4065 / STATE / false / / 2 / 2017-01-14 19:20 / 1484418011 / 5
What API method did you use? I can't find one that returns these groups.
Anyway, a gateway like the CCU should be a dumb gateway, you can do the same with a openHab group and a small rule. The Homematic binding does not fully 'emulate' a CCU in openHab. It's main purpose is to control the devices via openHab.
Today I tested something with XML-RPC. It is possible to query the groups over port 9292. I have test this with the Chrome extension XML-RPC Client.
http://${HMIP}:9292/groups listDevices
<?xml version="1.0" encoding="ISO-8859-1"?>
Thanks a lot! Never heard of this port, seems to work. I still have two issues i have to fix until i can make it public.
Anyway, a gateway like the CCU should be a dumb gateway, you can do the same with a openHab group and a small rule. The Homematic binding does not fully 'emulate' a CCU in openHab. It's main purpose is to control the devices via openHab.
I agree with @gerrieg essentially. But the CCU and openHAB have overlapping functionality and it is not always very easy to decide what to implement in openHAB and what with the CCU. The definition of groups on the CCU has one big advantage: all devices added to group can communicate directly without the CCU. I.e. it will work even if the CCU is not active.
Especially in @andreheuer 's case it is possible to use the group functionality indirectly without the need to directly access the group: I have got a very similiar Homematic configuration in my living room: a wall mount thermostat, 3 radiators and a door/window contact. All devices are combined in a group. In openHAB I have defined an item to set the temperature via the wall mount thermostat thing. Because of the group definition the temperatures of all radiators is set automatically and I don't have to write a rule (neither in openHAB nor in the CCU). Same happens with the window contact. If the window is opened, all radiator valves are automatically closed (because they belong to the same group). In addition I have defined an item for the window contact to see in my sitemap that the window is open. In this case I really don't need to access the group in openHAB but it makes things easier because I don't need to write special rules.
Today I tested something with XML-RPC. It is possible to query the groups over port 9292.
I have XML-RPC installed, too. It is very helpful to see some internal values. If you want to see all options you can open this URL after the installation http://
Added group support with https://github.com/openhab/openhab2-addons/pull/1622
Hi @gerrieg! Thanks for adding the group support. I have just yesterday created my very first group ("INT0000001") in CCU2 and am trying to add it as a thing via PaperUI. But it does not find it. How do I add it manually? Or do I have to update by Homematic Binding? Help would be appreciated. Thanks!
The update has not been merged, yet. Therefore the new functionality is not yet available in a release binding version.
Alright, thanks @MHerbst! Is there any way to use the development version by @gerrieg? Do I have to switch the branch? How would I do that? Thanks!
You can find the branch in gerriegs repo: https://github.com/gerrieg/openhab2-addons/tree/homematic. If you clone this repo you can probably build the add-on via maven. Or you can contact @gerrieg and ask him whether he can provide a jar file to test it.
Looking good with #1622. I think this issue can be closed now. What do you think @andreheuer ?
Hi @MHerbst, I totally agree! It´s looking good right now! Thank you for your effort!!
Im not familiar with building on my own. Do I get the newest version when i install OH2 snapshot? Should I do this for my produktiv OH2-Installation?
Do I get the newest version when i install OH2 snapshot?
yes
Should I do this for my produktiv OH2-Installation?
Regarding the homematic binding yes, there are many fixes and optimizations based on user feedback in the snapshot builds
OK downloaded only ...homematic.jar from snapshot. After copying to addons it works well. And it does find all groups. But the data points do not sync and work. I will try to get the logs with trace option and open an new issue.
The homematic binding does not add things for internal groups in ccu2 (e.g. INT000001 for a heating including wall thermostat, window contacts and thermostats). The binding in openhab1 supported those items. Is there a way to add them? It would be great to use them as there is it better if e.g. a temperature is set to the group instead of setting the temperature of a single device in the group.