@danielperna84
I am trying to get the names resolved also in ha and ccu. For some reason no matter what I try he does not resolve the names automatically. I have set names for all devices in the CCU and I tried using xml and json also in the configuration.yaml and I have no resolution for it.
On the CCU I have XML-API addon installed (version 1.20) but I don’t know if I need something special installed for json. If I go to http://ccu/api/homematic.cgi I see a table with lots of things so it looks that he has json stuff in there.
Is there something that I need to do also in order to have this all set up?
I would prefer if possible to have auto resolving of names cause I have 50+ devices and that takes quite some time to do it manually. Also the HA is rarely restarted ( maybe once 6 months) so I am not that afraid of the load.
Snippet of part of log related to this ( I cut some numbers from the names for security reason but you can see the patern how it’s not taking the names)
2021-02-11 00:18:41 WARNING (Thread-3) [pyhomematic._hm] Resolving names with the XML-API addon will be disabled in a future release. Please switch to json.
2021-02-11 00:18:43 DEBUG (SyncWorker_4) [pyhomematic._hm] RPCFunctions.newDevices: interface_id = homeassistant-ip, dev_descriptions = [{‘TYPE’: ‘HmIP-STHD’, ‘SUBTYPE’: ‘STHD’, ‘ADDRESS’: ‘000E98’, ‘RF_ADDRESS’: 427, ‘CHILDREN’: [‘000E98:0’, ‘000E98A9AA00D2:1’, ‘000E98:2’, ‘000E98:3’, ‘000E98:4’, ‘000E98:5’, ‘000E98:6’, ‘000E98:7’], ‘PARENT’: ‘’, ‘PARENT_TYPE’: ‘’, ‘INDEX’: 0, ‘AES_ACTIVE’: 1, ‘PARAMSETS’: [‘MASTER’, ‘SERVICE’], ‘FIRMWARE’: ‘2.6.0’, ‘AVAILABLE_FIRMWARE’: ‘2.6.0’, ‘UPDATABLE’: True, ‘FIRMWARE_UPDATE_STATE’: ‘UP_TO_DATE’, ‘VERSION’: 4, ‘FLAGS’: 1, ‘LINK_SOURCE_ROLES’: ‘’, ‘LINK_TARGET_ROLES’: ‘’, ‘DIRECTION’: 0, ‘GROUP’: ‘’, ‘TEAM’: ‘’, ‘TEAM_TAG’: ‘’, ‘TEAM_CHANNELS’: , ‘INTERFACE’: ‘’, ‘ROAMING’: 0, ‘RX_MODE’: 3}, {‘TYPE’: ‘MAINTENANCE’, ‘SUBTYPE’: ‘’, ‘ADDRESS’: ‘000E98:0’, ‘RF_ADDRESS’: 0, ‘CHILDREN’: , ‘PARENT’: ‘000E98’, ‘PARENT_TYPE’: ‘HmIP-STHD’, ‘INDEX’: 0, ‘AES_ACTIVE’: 1, ‘PARAMSETS’: [‘MASTER’, ‘VALUES’, ‘SERVICE’], ‘FIRMWARE’: ‘’, ‘AVAILABLE_FIRMWARE’: ‘’, ‘UPDATABLE’: True, ‘FIRMWARE_UPDATE_STATE’: ‘’, ‘VERSION’: 4, ‘FLAGS’: 1, ‘LINK_SOURCE_ROLES’: ‘’, ‘LINK_TARGET_ROLES’: ‘’, ‘DIRECTION’: 0, ‘GROUP’: ‘’, ‘TEAM’: ‘’, ‘TEAM_TAG’: ‘’, ‘TEAM_CHANNELS’: , ‘INTERFACE’: ‘’, ‘ROAMING’: 0, ‘RX_MODE’: 0}, {‘TYPE’: ‘HEATING_CLIMATECONTROL_TRANSCEIVER’, ‘SUBTYPE’: ‘’, ‘ADDRESS’: ‘000E98:1’, ‘RF_ADDRESS’: 0, ‘CHILDREN’: , ‘PARENT’: ‘000E98’, ‘PARENT_TYPE’: ‘HmIP-STHD’, ‘INDEX’: 1, ‘AES_ACTIVE’: 1, ‘PARAMSETS’: [‘MASTER’, ‘VALUES’, ‘LINK’, ‘SERVICE’], ‘FIRMWARE’: ‘’, ‘AVAILABLE_FIRMWARE’: ‘’, ‘UPDATABLE’: True, ‘FIRMWARE_UPDATE_STATE’: ‘’, ’
2021-02-11 00:18:46 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event platform_discovered[L]: service=load_platform.switch, platform=homematic, discovered=devices=[{‘platform’: ‘homematic’, ‘address’: ‘0001D8’, ‘interface’: ‘ip’, ‘name’: ‘0001D8’, ‘device_type’: ‘IPSwitchPowermeter’, ‘channel’: 3, ‘unique_id’: ‘0001D8A’}, {‘platform’: ‘homematic’, ‘address’: ‘0001D8A’, ‘interface’: ‘ip’, ‘name’: ‘0001D8A’, ‘device_type’: ‘IPSwitchPowermeter’, ‘channel’: 3, ‘unique_id’: ‘0001D8A’}, {‘platform’: ‘homematic’, ‘address’: ‘0001A’, ‘interface’: ‘ip’, ‘name’: ‘0001D’, ‘device_type’: ‘IPSwitchPowermeter’, ‘channel’: 3, ‘unique_id’: ‘0001D709’}, {‘platform’: ‘homematic’, ‘address’: ‘0007156A’, ‘interface’: ‘ip’, ‘name’: ‘0007156 2’, ‘device_type’: ‘IPMultiIO’, ‘channel’: 2, ‘unique_id’: ‘0007156 2’}, {‘platform’: ‘homematic’, ‘address’: ‘0007156A’, ‘interface’: ‘ip’, ‘name’: ‘00071569 3’, ‘device_type’: ‘IPMultiIO’, ‘channel’: 3, ‘unique_id’: ‘000715 3’}, {‘platform’: ‘homematic’, ‘address’: ‘000715A’, ‘interface’: ‘ip’, ‘name’: ‘000715A 4’, ‘device_type’: ‘IPMultiIO’, ‘channel’: 4, ‘unique_id’: ‘0007156 4’}, {‘platform’: ‘homematic’, ‘address’: ‘000715A’, ‘interface’: ‘ip’, ‘name’: ‘0007156A 6’, ‘device_type’: ‘IPMultiIO’, ‘channel’: 6, ‘unique_id’: ‘000715A 6’}, {‘platform’: ‘homematic’, ‘address’: ‘000715A’, ‘interface’: ‘ip’, ‘name’: ‘000715A 7’, ‘device_type’: ‘IPMultiIO’, ‘channel’: 7, ‘unique_id’: ‘000715 7’}, {‘platform’: ‘homematic’, ‘address’: ‘00071A’, ‘interface’: ‘ip’, ‘name’: ‘00075A 8’, ‘device_type’: ‘IPMultiIO’, ‘channel’: 8, ‘unique_id’: ‘00075A 8’}], discovery_type=homematic.switch>
Also for the Homematic IP CLOUD I know there is no support for HM-IP FAL actors but is it by any chance supported in Homematic? I would like to know when the pump starts and stops to put it in a dashboard. I see in the logs that he recognizes the device but I can’t find it in the gui nor in the devices in the developer tools
{‘TYPE’: ‘HmIP-FAL230-C6’, ‘SUBTYPE’: ‘FAL-C6’, ‘ADDRESS’: ‘00059709’, ‘RF_ADDRESS’: 454, ‘CHILDREN’: [‘00059709:0’, ‘0005970:1’, ‘0005970:2’, ‘000597:3’, ‘0005970:4’, ‘0005970:5’, ‘0005970B:6’, ‘0005970:7’, ‘000597:8’, ‘0005970:9’, ‘0005970:10’]
One last thing if I may please. Is there a way that I can import some system variable with related value into HA? Cause no matter how I try he does not take it in.
Variable that I have from sysvarlist.cgi
systemVariable name=“Water” variable=“31.750000” value=“31.750000” value_list=“” ise_id=“7804” min=“0” max=“65000” unit=“” type=“4” subtype=“0” logged=“true” visible=“true” timestamp=“1613006248” value_name_0=“” value_name_1=“”/>
Configuration for trying to get the variable picked up:
sensor:
- platform: template
scan_interval: 10
sensors:
water:
value_template: “{{ state_attr(‘homematic.ccu2’, ‘Water’) }}”
entity_id: homematic.ccu2
friendly_name: “Water”
homematic:
interfaces:
rf:
host: 192.168.200.161
resolvenames: xml
username: Admin
wired:
host: 192.168.200.161
port: 2000
resolvenames: xml
username: Admin
ip:
host: 192.168.200.161
port: 2010
groups:
host: 192.168.200.161
port: 9292
resolvenames: xml
username: Admin
path: /groups
hosts:
ccu2:
host: 192.168.200.161
port: 2001
username: Admin
Doing some more debugging I notice on CCU2 that whenever I have homeassistant started it gives this error in the logs of CCU:
Feb 11 19:34:51 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-2] (un)registerCallback on LegacyServiceHandler called from url: http://192.168.200.9:42849
Feb 11 19:34:51 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-0] init finished
Feb 11 19:34:51 de.eq3.cbcs.legacy.bidcos.rpc.internal.InterfaceInitializer INFO [vert.x-worker-thread-0] Added InterfaceId: homeassistant-ip
Feb 11 19:34:51 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega INFO [vert.x-eventloop-thread-4] (un)registerCallback on VirtualDeviceHandlerRega called from url: http://192.168.200.9:42849
Feb 11 19:34:51 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega INFO [vert.x-eventloop-thread-4] Added InterfaceId: homeassistant-groups
Feb 11 19:34:51 de.eq3.ccu.virtualdevice.service.internal.rega.BackendWorker INFO [vert.x-worker-thread-9] Execute BackendCommand: de.eq3.ccu.virtualdevice.service.internal.rega.BackendUpdateDevicesCommand
Feb 11 19:34:52 de.eq3.cbcs.legacy.bidcos.rpc.internal.DeviceUtil INFO [vert.x-worker-thread-0] updateDevicesForClient homeassistant-ip → 309 device addresses will be added
Feb 11 19:35:01 de.eq3.cbcs.legacy.bidcos.rpc.internal.LegacyAPIWorker ERROR [vert.x-worker-thread-1] Can not handle request No handler with given name: getAllSystemVariables
de.eq3.cbcs.legacy.communication.rpc.RpcException: No handler with given name: getAllSystemVariables
at de.eq3.cbcs.legacy.communication.rpc.internal.rpc.AnnotationAwareRpcHandler.getMethod(AnnotationAwareRpcHandler.java:63)
at de.eq3.cbcs.legacy.communication.rpc.internal.format.xml.XmlRpcParser.parseMethodCall(XmlRpcParser.java:111)
at de.eq3.cbcs.legacy.communication.rpc.internal.format.xml.XmlRequestResponseProcessor.parseRequest(XmlRequestResponseProcessor.java:226)
at de.eq3.cbcs.legacy.bidcos.rpc.internal.AbstractLegacyAPIWorker.handle(AbstractLegacyAPIWorker.java:78)
at de.eq3.cbcs.legacy.bidcos.rpc.internal.AbstractLegacyAPIWorker.handle(AbstractLegacyAPIWorker.java:30)
at io.vertx.core.eventbus.impl.HandlerRegistration.deliver(HandlerRegistration.java:212)
at io.vertx.core.eventbus.impl.HandlerRegistration.handle(HandlerRegistration.java:191)
at io.vertx.core.eventbus.impl.EventBusImpl.lambda$deliverToHandler$3(EventBusImpl.java:505)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:337)
at io.vertx.core.impl.TaskQueue.lambda$new$0(TaskQueue.java:60)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
I think it comes from this code from the homematic component but I don’t know how to dig in deeper
def getAllSystemVariables(self, remote):
“”“Get all system variables from CCU / Homegear”“”
variables = {}
if self.remotes[remote][‘username’] and self.remotes[remote][‘password’]:
LOG.debug(
“ServerThread.getAllSystemVariables: Getting all System variables via JSON-RPC”)
session = self.jsonRpcLogin(remote)
if not session:
return
try:
params = {“session_id”: session}
response = self._rpcfunctions.jsonRpcPost(
self.remotes[remote][‘ip’], self.remotes[remote].get(‘jsonport’, DEFAULT_JSONPORT), “SysVar.getAll”, params)
if response[‘error’] is None and response[‘result’]:
for var in response[‘result’]:
key, value = self.parseCCUSysVar(var)
variables[key] = value
self.jsonRpcLogout(remote, session)
except Exception as err:
self.jsonRpcLogout(remote, session)
LOG.warning(
"ServerThread.getAllSystemVariables: Exception: %s" % str(err))
else:
try:
variables = self.proxies[
"%s-%s" % (self._interface_id, remote)].getAllSystemVariables()
except Exception as err:
LOG.debug(
"ServerThread.getAllSystemVariables: Exception: %s" % str(err))
return variables
Thank you very much in advance and I really appreciate it