ilcato / homebridge-fibaro-home-center

Homebridge plugin for Fibaro Home Center
Apache License 2.0
28 stars 24 forks source link

New device? Incorrect display of device (e.g.: doubled)? #157

Closed mkz212 closed 11 months ago

mkz212 commented 11 months ago

The device is displayed but incorrectly or doubled

If your device is displayed but incorrectly (e.g. displays as a Outlet and should be as a Switch), then first check the device settings in the Fibaro panel and check field Role (or What controls the device). In some cases (for devices like Switch, Double Switch, Smart Implant, Wall Plug etc.), changing this causes the display to change (selecting Light should set device as Light, selecting "Other" / "Another device" should set the device as Switch, selecting Sprinkler or Valve should set device as Valve, and any other case will be Outlet).

To see the effect after changing, or if device is displayed doubled, you must remove this device from cache (in Homebridge Settings). Unfortunately, in this case, the settings for this device will most likely be lost (room selection, automations, etc.).

Add new device / improve display of the current one

What data we need?:

How to get API response:

Open in browser: http://FIBARO-IP/api/devices/ID to see all devices or (replace FIBARO-IP with your Home Center IP and ID with device ID) and login.

Example of one device:

{"id":123,"name":"Garaż","roomID":226,"view":[{"assetsPath":"dynamic-plugins/com.fibaro.binarySwitch","name":"com.fibaro.binarySwitch","translatesPath":"/assets/i18n/com.fibaro.binarySwitch","type":"ts"}],"type":"com.fibaro.binarySwitch","baseType":"com.fibaro.actor","enabled":true,"visible":true,"isPlugin":false,"parentId":115,"viewXml":false,"hasUIView":true,"configXml":false,"interfaces":["zwave","zwaveProtection"],"properties":{"pollingTimeSec":0,"zwaveCompany":"Fibargroup","zwaveInfo":"3,6,2","zwaveVersion":"5.2","RFProtectionState":0,"RFProtectionSupport":3,"categories":["other"],"configured":true,"dead":false,"deadReason":"","deviceControlType":1,"deviceIcon":2,"deviceRole":"Other","endPointId":5,"icon":{"path":"/assets/icon/fibaro/onoff/onoff0.png","source":"HC"},"localProtectionState":0,"localProtectionSupport":5,"log":"","logTemp":"","manufacturer":"","markAsDead":true,"model":"","nodeId":19,"parametersTemplate":904,"productInfo":"1,15,5,2,16,0,5,2","protectionExclusiveControl":0,"protectionExclusiveControlSupport":false,"protectionState":0,"protectionTimeout":0,"protectionTimeoutSupport":false,"saveLogs":true,"serialNumber":"h'0000000000005efa","state":false,"supportedDeviceRoles":["Light","Drencher","Pin","NightLamp","Kettle","Bracket","AirConditioner","AlarmAlarm","Coffee","GardenLamp","TvSet","CeilingFan","Toaster","Radio","RoofWindow","Other","AlarmState","AlarmArm","VideoGateBell","VideoGateOpen","Valve"],"useTemplate":true,"userDescription":"","value":false},"actions":{"reconfigure":0,"toggle":0,"turnOff":0,"turnOn":0},"created":1650223230,"modified":1699521752,"sortOrder":102}

Example of correct application:

Fibaro product: Smart Implant Currently displays as: Switch Should display as: Outlet type: com.fibaro.binarySwitch deviceControlType: 1

Copy this and fill:

Fibaro product: Currently displays as: Should display as: type: deviceControlType:

ilcato commented 11 months ago

@mkz212, pinned

Damianod27 commented 11 months ago

Hi. Is there any other solution for this? I have a problem with Wall Plug. I really have a lot of them. In Homekit they are visible as a double switch. However, in Homebridge itself, only one device from a given Wall Plug is visible in the cache. So I have nothing to delete. When deleting such a Wall Plug, it is added again fine, but I lose all automations. For me it's 6 hours of work if I go this route. Recreating such a large amount of Wall Plug and automation is a tragedy. Regards

mkz212 commented 11 months ago

Unfortunately, it's not the fault of the plug, but that's how Apple solved it.

One thing you can try is to change in the Fibaro panel / device / Role field to something other than "another device" - e.g it could be "radio" etc. Restart Homebridge after that. This should give a signal that you want it to display as an outlet.

Second thing you can try is turning off Apple hub, then remove from cache and turn on hubs when you end.

Let us know did it help? If so, which of this two solutions did it work?

Damianod27 commented 11 months ago

Now I also noticed: Homebridge also forwards all such devices to Amazon. I have a lot of automation there as well. Similar situation to Homekit. It destroys all my automations. If I have to delete every Wall Plug from the Homebridge cache, it will take me 2 days to restore automation in Homekit and Amazon.

I have already done what you write about. This causes a third switch to appear next to Wall Plug in Homekit. So it's even worse. Each change adds another and another switch. There is still only one device in the cache for a given Wall Plug. This happened after updating the Fibaro plugin. This wasn't a problem before. I entered my second home in Homekit where there is a second Homebridge in a different location. Everything is displayed correctly there, but the fibaro plugin has not been updated yet. So it must be the fault of the update that was released a few days ago.

mkz212 commented 11 months ago

In the new version of this plugin, functionalities have been added to choose how the device should be displayed in HomeKit (or as a Switch, Outlet, etc.).

The problem of double display lies with Apple. That's why the cache removal function was introduced to Homebridge. That's why in Homebridge it is displayed as one device (i.e. correctly) and in Apple double.

Damianod27 commented 11 months ago

Only in the cache each Wall Plug appears individually. It does not occur twice to enable you to delete an unwanted switch. Deleting a given Wall Plug destroys the automation in Homekit and Amazon because it is added as a new device.

Damianod27 commented 11 months ago

So this is the fault of the new Fiabro plugin update. There should be an option in the plugin settings to choose whether it's old or new. For me it's a job for a good 2 days.

mkz212 commented 11 months ago

The problem of double display lies with Apple. That's why in Homebridge it is displayed as one device (i.e. correctly) and in Apple double.

And so, as it says: "Unfortunately, in this case, the settings for this device will most likely be lost (room selection, automations, etc.).".

mkz212 commented 11 months ago

@Damianod27 I'm sorry this happened to you. I have already added PR with a warning when updating. And also information for the Troubleshooting section. In addition, there is this post.

As I said - double display is Apple's fault. As you can see in Homebridge the device appears single, in Apple doubled.

Damianod27 commented 11 months ago

So why does the second Homerbidge, which works on the old version of the Fibaro plugin, display all my Wall Plug devices correctly? If any changes were made when updating the Fibaro plug-in, there should be an option in the settings to select displaying the device in the old way

mkz212 commented 11 months ago

I have already written - in the new version added the functionality of choosing how the device should be displayed. In the old version it was not.

If you want to have Wall Plug displayed as Outlet, in the Fibaro panel, for a given device, in the Role field, select e.g. "Radio".

Damianod27 commented 11 months ago

Forgive my frustration, but I have maybe 100 automations, if not more in Homekit and Amazon. Additionally, about 50 Wall Plugs. This means destroying practically all my automations and two days of work or more. This information should be provided during updates. However, the best solution was to add options in the settings that allow you to enable new functionality.

ilcato commented 11 months ago

@Damianod27, let me understand. The issue is that an existing wallplug is now appearing as a double switch instead of one? Are the 2 switches working the same as the previous one? Or not? Please give some details. Unfortunately I do not have this kind of devices anymore.

mkz212 commented 11 months ago

@Damianod27 I understand your pain, I myself have gone through it many times. Yes - such information will be added in several places.

mkz212 commented 11 months ago

@ilcato This is because before Wall Plug was always as an Outlet. Now it can be a different device depending on what role will be selected in the Fibaro panel. The problem of double display is Apple's fault - in Homebridge it displays correctly. Every time you change the type (e.g. from Switch to Outlet), you have to remove the device from the cache (in Homekit Settings) because Apple detects it as two.

Damianod27 commented 11 months ago

@ilcato Every Wall Plug now in Homekit is visible as a double switch. One switch on such a Wall Plug does not work. It cannot be controlled. The second switch now works properly.

mkz212 commented 11 months ago

@Damianod27 In Fibaro panel this device Role is set to.... ? Is set to "Other"? This option set device as Switch.

ilcato commented 11 months ago

@Damianod27 two equal switches or a switch and a lamp or something else?

Damianod27 commented 11 months ago

@ilcato @mkz212 Do not get me wrong. Thanks for the fiabro plugin. Thanks for continuing to update her. However, this is not Homekit's fault because it has such functionality. Everything was spoiled by the update of the Fibaro plug-in, which introduced new functionality. There should be appropriate information before updating. There should also be an option in the settings that enables this new functionality. You should have seen this coming. Now saying sorry doesn't do anything. I have all my Homekit and Amazon destroyed. I have to re-add almost 50 Wall Plugs and repair or re-add almost 100 automations.

Damianod27 commented 11 months ago

@ilcato In Fibaro it was set, for example, to a lamp. In Homekit it is now also visible as two lamps.

mkz212 commented 11 months ago

@Damianod27 Nothing was introduced with the lamps. I mean, if you had the lamp set, you still have the lamp after the update.

Damianod27 commented 11 months ago

@mkz212 Each Wall Plug is assigned to a specific functionality. Controls TV, it is set to TV. It controls the floor lamp, so it is set to light. etc. etc.

ilcato commented 11 months ago

@ilcato In Fibaro it was set, for example, to a lamp. In Homekit it is now also visible as two lamps.

@mkz212, I think that @Damianod27 now has accessories with the same homekit ID with 2 service: the older one and the new one. And this is the reason for the 2 elements. But I understand the reason if the two elements are different (a switch and a lamp). I do not understand why in this case.

@Damianod27, can you send me privately the portion of the accessories file that describe one of your wallplug?

mkz212 commented 11 months ago

@Damianod27 Ok. So you have Wall Plug and Role is set to "Light" yes? So now it shoud be displayed as Light.

mkz212 commented 11 months ago

@ilcato I understand this. Every change of device (from Light to Switch, from Switch to Outlet, etc.) causes this problem. Apple did not solve it despite the fact that I reported it to them many times. Damianod27 have Wall Plug - in the previous version, Wall Plug was always Outlet. In the new version it is what it is set in Fibaro in the Role field. In this case, as Damianod27 wrote - it has a Wall Plug that controls the light, so it should be displayed as light.

ilcato commented 11 months ago

@ilcato I understand this. Every change of device (from Light to Switch, from Switch to Outlet, etc.) causes this problem. Apple did not solve it despite the fact that I reported it to them many times. Damianod27 have Wall Plug - in the previous version, Wall Plug was always Outlet. In the new version it is what it is set in Fibaro in the Role field. In this case, as Damianod27 wrote - it has a Wall Plug that controls the light, so it should be displayed as light.

In the case you mention there should be an Outlet and a light not 2 light. This is my concern.

mkz212 commented 11 months ago

@ilcato ah, yes.. that is strange

mkz212 commented 11 months ago

@ilcato I tested it earlier for 2 months on 2 different HC - HC2 lite and HC3 lite. Only on one HC I had it with a double display, but only on one device and only because I played there with setting Sprinkler / Valve. I wrote you about the fact that I can't see it in automations at the time. Unfortunately, in the Fibaro settings, in the Role field there is no such thing as Outlet. But I remember that a few months ago when you fixed the problem that the lamp did not display as a dimmer, the devices also displayed me twice.

mkz212 commented 11 months ago

@ilcato I have alreade made PR with warning about this (in update changelog and in readme).

Damianod27 commented 11 months ago

@ilcato @mkz212 I have a Fibaro Home Center 2 control panel with about 50 Wall Plugs added. Each Wall Plug has settings in the Fibaro headquarters for what it is used for. It doesn't matter if it was a light, a TV, a fan, a toaster or the other option was selected. Each of these Wall Plugs now appears as a dual switch in Homekit. One switch does not work, the old one that was there before, and the new one that was added after the update works. Therefore, no automations work. My whole house is immobilized. All devices in Homekit and Amazon.

I forgot to write that despite the settings in Fibaro for each Wall Plug separately, they are still visible in Homkit as two lamps

mkz212 commented 11 months ago

@Damianod27 If you install previous version of plugin? Will it help?

Damianod27 commented 11 months ago

@mkz212 I installed the previous version of the plugin and it didn't help. I had a copy of my system before the plugin update and restored it. It didn't help either. All Homekit and Amazon are down.

Damianod27 commented 11 months ago

@mkz212 I restored a copy of the Micro SD card I made a week ago. The situation is identical

mkz212 commented 11 months ago

@Damianod27 You said it was the fault of the plugin and its update. But the restoration of the previous version, or even a copy from the backup does not fix the problem. Will you agree that it may be Apple's fault that it mistakenly keeps something in cache?

Of course, I still agree that there must be a warning about it.

I will say one more thing - in another plugin, in which you can set virtual devices, if you change the type of device there, the same thing happens - it is displayed doubled.

Damianod27 commented 11 months ago

@mkz212 I won't disagree with that. This confusion was caused by an update to the Fiabro plugin in Homebridge. You have made changes and you should test adding a new feature and see its consequences. You should consider the consequences of introducing new functionality by looking at what is in Homekit and adapt to it. You should add relevant information before updating. You should add an option to enable the new functionality for those interested. I have been using Homebridge for 4 years. I have 17 plugins installed. This is the first and only plugin/update that destroyed my entire Homekit, Amazon and almost 100 automations

mkz212 commented 11 months ago

@Damianod27

You know that I'm not the author of the plugin or even administrator? ;) I have COMPLETELY NO benefit by helping here.

And as I say:

mkz212 commented 11 months ago

See.. Posts from 3 years ago even, same problem, other plugins or even Home Assistant instead of Homebridge:

And these are just the first few results....

ilcato commented 11 months ago

@Damianod27, @mkz212 we are here all for our interest in the Fibaro product and putting our effort for free trying to share our knowledge and experience. We can make errors and try to remediate if possible. I assume the main responsibility for this because I validated the change and published the new version. @Damianod27, I'd like to support you in looking for a solution, if it exists. Two topic:

mkz212 commented 11 months ago

@Damianod27 @ilcato I agree that everyone wants to help. As I say - I tested it at home and on 2 HC it worked without a problem. But there are always some unpredictable things. I completely forgot about Apple's problem with duplicating devices and I take responsibility for it and I'm sorry - there should be a warning when updating.

@ilcato How can we fix this problem, for people who have not yet updated? In addition to adding a warning?

Damianod27 commented 11 months ago

@mkz212 I don't have time to send you anything. It won't change anything and I will lose valuable time. I've been sitting here for several hours trying to get the house functional again. I will be up until the morning and probably all Sunday and the next few days in the evening to fix it. You blame Homekit. You can't admit you're wrong. You knew about the problem in Homekit and yet you approved the Fibaro plugin update. So the fault is 100% after updating the Fibaro plugin and not on Homekit. As it was known what the problem was, no new functionality should appear.

Damianod27 commented 11 months ago

@ilcato @mkz212 Additional information. Previously, in the Fiabro headquarters, I had each Wall Plug added and what it controlled. Everything worked in Homekit. I could change the switch type and select the icon. After the update, this option is no longer available. Currently, in the Fibaro headquarters I have to set each Wall Plug that controls the light as a light and all the others, e.g. to TV. Otherwise, I cannot select the type of switch and the appropriate icon in Homekit. The entire 4 years of building my Homekit went up in smoke. I have to start all over again.

mkz212 commented 11 months ago

@ilcato I completely do not understand the last information from Damianod27 - nothing was changed with the light or with choosing the icon. Do you have an idea?

ilcato commented 11 months ago

@mkz212 I don't have time to send you anything. It won't change anything and I will lose valuable time. I've been sitting here for several hours trying to get the house functional again. I will be up until the morning and probably all Sunday and the next few days in the evening to fix it. You blame Homekit. You can't admit you're wrong. You knew about the problem in Homekit and yet you approved the Fibaro plugin update. So the fault is 100% after updating the Fibaro plugin and not on Homekit. As it was known what the problem was, no new functionality should appear.

@Damianod27, I acknowledge my mistake and have extended my support to resolve the issue. I empathize with your frustration; over the past eight years, I've had to rebuild my HomeKit database multiple times due to various problems, not all of which were my fault. If you're unable to spare time to assist me in supporting you, I will step back. Gradually, I am moving away from Fibaro technology and don't plan to maintain this plugin indefinitely. It's great to see a new enthusiast like @mkz212 taking an interest in this area.

Damianod27 commented 11 months ago

@ilcato "It's great to see a new enthusiast like @mkz212 taking an interest in this area." So very nice, especially in my case. First attempt by @mkz212 and he destroyed my 4 years of work. Really great. How should I help you now? And who will help me? I'm just starting the 7th hour of repair and maybe I've got 5% done at most. My whole house is dark. My wife and children want to kill me!!!! Everything was automated at home. I'm sorry, but my 10-year-old children and my wife don't have to know each other like I do. They only have the Home App installed on iPhone and iPad. They do not have others like Fibaro, Aqara, Xiaomi, Ikea, Philips Hue, Zigbee, Tuya, Meaos, iRoboot, Sonoff, Shelly, Blebox and many others. Additionally, there are about 100 or maybe even more automations that are not working. I have full automation at home. In some places I don't even have wall switches to control it. Additionally, today is a holiday and a weekend. For me, the most important thing now is to bring the house back to life and that's what I'm doing. Another thing, at the time you wrote, I had already deleted all Wall Plug, so I can't even provide it to you. I won't restore the copy and I won't get this data to you because it will ruin what I've already done in Homekit.

You've been creating this plugin and updates for so many years and nothing like this has ever happened. Thank you very much for this and I have no grudge against you. However, @mkz212 cannot even admit his mistake and apologize and puts all the blame on Homekit. He knew what and how it works in Homekit with cleaning memory of accessories, and he knew that it would happen and he deliberately approved the update without considering the consequences. Stupid childish explanation that he has restored the house many times. Does that mean I have to do it too? Is this a translation by someone at the highest level? I haven't had to do this for 4 years. Despite having 17 plugins. After clicking the update button in the plugin, appropriate information should appear that you should read. Only then should I decide whether I want to do it or not. Another thing when such drastic changes are introduced is that it should be an additional function that is turned on in the plug-in settings.

The update should be rolled back to a previous version so that someone else does not have such problems and added as an option and not a requirement. Change only brings problems and nothing more. Homekit does not recognize all selections from the Fibaro system anyway.

mkz212 commented 11 months ago

@Damianod27

You are saying that I can not admit my mistake and apologize? But I did it.

My mistake was that I forgot that there is such an problem that cause double devices and it is not the fault of either Homebridge or this plugin, which I proved to you by providing links.

I agreed with you that there should be such a warning and @ilcato has already introduced it.

Once again I am sorry that this happened to you and I once again I apologize.

mkz212 commented 11 months ago

@Damianod27 I know it won't fix your problem and I'm sorry again. Know that we have included your suggestion and the next version (1.5.0) will have the option to choose in the settings - old code / new code. It is currently in beta testing. We have also added type change warnings. We have completed the Troubleshooting section.

mkz212 commented 11 months ago

I close the topic. From now on useful information in the section: Troubleshooting .