• 0 Posts
  • 15 Comments
Joined 1 year ago
cake
Cake day: July 7th, 2023

help-circle


  • I’m trying to word this kindly yet directly, but the whole chain of additions you’ve done is messed up.

    If you just want working code then try the examples in this post but note that you can edit template sensors in the GUI now so directly editing the config file isn’t needed. https://community.home-assistant.io/t/trying-to-show-how-many-lights-are-on/527089/12

    For an actual explanation of what’s going wrong with your code I’ll start with this bit, which will not work as written and when fixed doesn’t do what you currently are intending it to do.

    I highly suggest reading through this page of documentation while looking over this as it will clarify a lot better than I can.

    {{ (states.switch | rejectattr('attributes.light.lamp_left', 'defined') | selectattr('state', 'eq', 'on') | list | count) }}
    

    I’d like to work through this backwards:

    count is, as the name implies, counting. It’ll take an input and then spit out a number. In this case, it’s going to count the members of a list piped into it from…

    list takes an input object and converts it to a list. In this case it’s creating a list from the output of…

    selectattr() is a way to filter an input object based on some criteria. For this we’re filtering the input for only objects with an attribute named state whose value is equal to on. The result should be a group of entities that have a state listed as on. The input it’s filtering from is…

    rejectattr() is basically the same as selectattr(), except it removes based on the filtering criteria and outputs everything that didn’t match. This is where your code is failing, and it’s actually not even necessary for this single line to work. I’m assuming you saw example code that used attributes.entity_id and then you replaced the entity_id portion with your targeted entity. This is failing because the rejectattr() filter is looking for the name of what attribute to filter on and its state. This portion is actually doing absolutely nothing even if it’s working, as far as I can tell, because as originally written it would just remove any object with an entity_id named defined. That all said, it’s filtering input from…

    states.switch, which is a way to reference and get the state result of every entity in the switch domain. There’s a whole section in the HA documentation I linked about states and how to get them for templates that is very relevant to what you’re doing. In this case, unless your lights are set up as switches, you’d actually want to use states.light.

    The end result if you follow this advice will instead give you a single line that counts all lights currently turned on, so no need for adding them all together like your original code. If you only want to know the states of a specific group of your lights then see the forum link from the top of my post that shows how to manually write a group into the template, or alternatively create a helper group in the GUI and reference that.




  • So what you’ve demonstrated is that a fraction of less than 1 percent of voters registering in a few states MAY be non-citizens, a number so small it’s barely a rounding error, and that of that small number of people it seems we catch most of them long before they vote. I do not understand why this issue seems worth the effort you’re putting into it.

    I’ll concede then that it does and has happened. However, I still think you’re going too far by claiming there’s no consequences while literally linking to attempted convictions.


  • I’m not the person you responded to and I’ve moved no goalposts. I’m pointing out that you’re misrepresenting reality to make your point. I’m in a state (Georgia) that gives you the option to register to vote when getting or renewing your license. On the form it is simply a checkbox. This seems like a clearly abusable system if you do as you have, which is to look at the surface level of the situation and cry foul, but the underlying reality is different.

    In order to get my license I was required to provide documentation of my citizenship (in my case an original birth certificate) as well as evidence of my current address (in my case a utility bill). This underlying evidence is what is used to control my voter registration and prove I’m eligible to vote. Car registration is supposed to be tied to your home address and is handled by parts of the local government that share information, so being given an option to update an address for voting purposes when updating registration makes sense to me. I am not aware of if that is possible on my state. While I do not personally have experience with obtaining a license while not being a citizen and resident of my state, I know that whatever process exists for that doesn’t also allow you to register to vote.

    If you’d like one I’ll give you a goalpost. Prove me wrong and show me a single state where a non-citizen can register to vote, go to a polling place and vote, and then have that vote counted.