rstrouse / relayEquipmentManager

A hardware controller for GPIO, I2c, SPI, and generic devices.
GNU General Public License v3.0
38 stars 19 forks source link

How do you delete a generic device? #49

Closed chadhobson closed 1 year ago

chadhobson commented 1 year ago

Unless I'm just missing it right in front of my face, there's no trash icon and its throwing an error in the console when you click the device at the top of the screen.

Screenshot 2023-06-11 at 12 25 16 PM
rstrouse commented 1 year ago

Hard refresh (clear cache) your browser.

chadhobson commented 1 year ago

Tried that. No change.

Deleted it completely and re-installed. Same issue, so its repeatable. Will try to install it locally and debug it since its a pretty simple issue to test: "Create a generic device. Try to delete it."

chadhobson commented 1 year ago

Alright, figured out some more info to help here. This is on a Pi4.

And here's where it breaks. Once I associate the feed with the generic device, I no longer see the save or delete buttons on the generic device. Nothing I do short of a total reinstall will allow me to remove the generic device.

At first I thought it was because there was a feed tied to it so maybe you can't allow edits or deletion of the generic device but even after deleting the entire MEGA-BAS (addr 78) from the i2c bus list, still can't edit or delete the generic device.

And I should also mention that the only reason I need to edit the generic device to begin with is because it doesn't retain my input type being ohms and units being kohm. As soon as I link the feed to the device, it changes these values to Raw Value and 10-bit Input.

rstrouse commented 1 year ago

Please make sure you are sending the right value. You need to be sending the in0-10x.value one not the full object. This is in the docs but I haven't gotten around to moving the other unit based items to the end of the list. So double check the feed from the MEGA-BAS the send value should be 0-10v in #(x) value

image

chadhobson commented 1 year ago

I am... here's my output...

Screenshot 2023-06-12 at 7 19 50 PM

But once you're done on this screen, go back to generic devices and click on the temp probe. Does your seem to lose its settings?

Screenshot 2023-06-12 at 7 21 05 PM

Notice the Input Type and Bitness. Shouldn't that be resistance and kohms? And either way, shouldn't there be some value for temperature showing?

Side question: How do you dev on this app when you can't plug a MEGA-BAS into your Macbook? Are you replaying captured data or have you emulated it? I don't see a test suite here either.

chadhobson commented 1 year ago

Hmmmm... something I just noticed. Your screenshot has the word "value" in both red circles. Mine doesn't have it in either. Am I running the same version as you? Mine says its 8.0.0.

rstrouse commented 1 year ago

Scroll down in the dropdown and you will see a second set of options for the feed that include value. Also, if you run REM on a computer without an I2c bus it will create Mock devices.

chadhobson commented 1 year ago

Now its showing temperature in REM. And the device is also editable/deletable. So the error above is likely that it was trying to run replace() on an object rather than a string. Makes sense.

The only part still not working is the display of this temperature in the Pool Control Dashboard. It says "Pool Temp" but there's no value and its greyed out. I assume the REM config is pulling all the data, correct? I don't need to create a generic device feed in REM to push to the dashboard?

Sorry for all the questions but the wiki kind of ends at this point, unless I'm missing something.

Thanks for all your help!

rstrouse commented 1 year ago

The pool temp will only activate when the pool body is activated. As soon as you click it the temperature will show if REM is feeding this temperature to njsPC. It is greyed out because you will find that the temperature probe is only accurate when the water is flowing past it. When you turn off the body it will retain the last running temperature as this will be what the temperature of the pool water is not the temperature of the water in the pipes.

You do need to feed the temperature probe to njsPC. Create a feed on the generic temperature sensor that references watersensor1 on njsPC.

chadhobson commented 1 year ago

Excellent. Now its working perfectly. Closing and moving on... thanks @rstrouse!