stevesreed Posted August 16, 2021 Posted August 16, 2021 Good to know about the program names. I'm not running the "status" program from any other ISY programs or from HA. I did notice programs get updated far more often than I expected, but since the status program has nothing in the then or else sections, so it should be okay that it runs the else frequently. Since HA only looks at the status of the status program, and it's evaluating to true, HA thinks it active. Maybe "empty" programs are not getting the status updated correctly in some cases? Normally it would not matter, since I've never done anything based on the status of a program previously, but HA's ISY integration sort of depends on it. It's not the end of the world setting up HA switch templates for each variable, but I'd still like to figure out what's going on.
MrBill Posted August 16, 2021 Posted August 16, 2021 @stevesreed ding ding ding... It suddenly occurred to me you are talking about this method of creating devices in HA. I played with that when I first got HA but discovered it to be cumbersome and unnatural, and that there was really no need for it. I can see the status of any device or even variable (if I add it to HA) and then run programs if i need to via HA Call Service. If I need to create a virtual status for something to pass over from ISY to HA, I simply use an integer variable to do just that. (Integer variables don't have the overhead of a State variable, yet on the HA side the sensor can be used as a trigger.) While the "Create Custom Devices" is a nice feature I don't think it's needed and I think it adds a level of confusion.
stevesreed Posted August 16, 2021 Posted August 16, 2021 Just now, MrBill said: While the "Create Custom Devices" is a nice feature I don't think it's needed and I think it adds a level of confusion. I agree. When I first set up HA, I did not know about the power of templates, and the status/action program setup was the "official" way to add switches and covers connected to isy variabales. At this point I'm probably going to move everything over to templates that respond to the sensor strings prefixed state variables. One issue I have setting up a test template for the Movie Lighting Switch, was I had to set the variable by address (id) instead of by variable name. Trying to use the variable name resulted in an error: Failed to call service isy994.set_variable. some but not all values in the same group of inclusion 'name-address' @ data[<name-address>]. Got None I have no problem using the Variable ID, but it does make the templates a bit harder to read.
MrBill Posted August 16, 2021 Posted August 16, 2021 4 minutes ago, stevesreed said: state variables. Unless it needs to be a State Variable on the ISY side use an Integer Variable. (An Interger variable still becomes a sensor and can be used to trigger an automation on the HA side.) You can get to the point you have too many State Variables, I used to used them for everything under the sun (and that was before HA) Since the ISY has to pay attention to State variables watching for changes you can get to the point that state variables cause the isy to error. Actually keep an eye on the ISY error log in general avoid getting to the point it's filled with "UDQ: Queue(s) Full, message ignored" (it does happen at ISY startup/reboot, but it shouldn't happen everyday or even routinely.) A happy ISY will have probably a handful ( <6 or 10) "routine" error log entries per day... if your error log is growing a rate greater than that you should get to the bottom of why.... 16 minutes ago, stevesreed said: One issue I have setting up a test template for the Movie Lighting Switch, was I had to set the variable by address (id) instead of by variable name. Trying to use the variable name resulted in an error: Sounds like a naming issue. Use "Developer Tools" then "Services" then "isy994.set_variable" to do it manually from the GUI then view the YAML when you've got it working.
shbatm Posted August 16, 2021 Posted August 16, 2021 53 minutes ago, stevesreed said: Failed to call service isy994.set_variable. some but not all values in the same group of inclusion 'name-address' @ data[<name-address>]. Got None Sorry, in my example I included the `type` parameter and the `name`, you can either call it by name or by type+ID, if you remove the `type` lines from my example above it should work.
stevesreed Posted August 16, 2021 Posted August 16, 2021 7 minutes ago, shbatm said: Sorry, in my example I included the `type` parameter and the `name`, you can either call it by name or by type+ID, if you remove the `type` lines from my example above it should work. That fixed it! Thanks. I try to only use state variable for things that need to trigger a program. For everything else, I use int variables. I'll keep an eye on the logs for "UDQ: Queue(s) Full" errors.
Recommended Posts