opensmarthouse / opensmarthouse-web

Provides public elements of OpenSmartHouse web site including ZWave database import/export and log file processors.
0 stars 2 forks source link

Adding a new Endpoint to a device does not work #43

Open m0rgano opened 3 years ago

m0rgano commented 3 years ago

If I edit a device and add a new Endpoint, a pop-up a indicates that this has been created successfully. However the new Endpoint does not show in the Endpoint list so I am unable to add any Command classes or Channels. I have tried the usual refreshing the browser etc. Browser is latest Firefox.

bwosborne2 commented 3 years ago

What device ?

Normally Endpoint information comes from the imported xml generated by OH. I have never added an Endpoint manually and it is discouraged.

m0rgano commented 3 years ago

I know, but updating using an XML isn't available at the moment. This is what Chris Jackson said about XML import:

"Hi. This isn't available in the new database. Just update the device type/id directly - it's the only thing that can be changed."

Editing the device does not appear to allow me to add a new Endpoint. It goes through the motions but the new Endpoint does not appear in the list.

The device in question is a Goap ZMNHSD DIN Rail Dimmer.

bwosborne2 commented 3 years ago

Somebody changed the database for that device on Feb 27 but never requested review, indicating they were finished with the editing. It was therefore not flagged for review & approval.

I just looked at the diff and it does not chow any changes made. Just editing & not asking for review may cause the device to be excluded from database updates though.

m0rgano commented 3 years ago

That was probably me who made the edit on the 27th. The trouble is, if I add an Endpoint it's neither showing in the editor or in the diff even though it says it has been successfully created, so it feels like something is broken with the editor.

I opened a ticket in OpenSmartHouse in February but had no response so I'm not sure how to proceed with this.

bwosborne2 commented 3 years ago

Generally you should not add Endpoints manually anyway. The Endpoints are defined by the xml from the device . Leaving an entry in modified status can block it from database exports until it is approved.

If an Endpoint is missing it was likely added in a firmware update and requires a new database entry to not break users with older firmware.

@cdjackson perhaps there should be multiple edit levels with the lower level not allowing dangerous edits as described here but permitted for "Reviewers / Approvers".

m0rgano commented 3 years ago

The device in question is a Goap/Qubino device. I had to modify the DB for a couple of other Qubino devices in the past; these required additional Endpoints due to peculiarities in how these devices send temperature etc. reports. They send them on a different Endpoint when polled to when they are unsolicited. The changes made the the other devices were made after discussions with Chris and were made using the previous DB editing mechanism. This change is pretty much doing the same thing for (yet) another Qubino device that is showing similar behaviour. I can't imagine how this is a breaking change in this scenario as the existing Endpoint (0) would be left unchanged.

bwosborne2 commented 3 years ago

It could be a breaking change because users could see extra non-functional ( for them) channels. I have personally had that happen with a DB entry that expected a temperature sensor that my device was lacking.

If the website functionality is broken, then Chris could take a look. I have not been deeply involved with that part of things other than some backend scripting for the database.