Esphome alarm system

I added a request on the ESPHome github for supporting the SRAM on some of the clock chips that ESPHome supports. These chips support unlimited Read/Write on their non-volatile memory, so by using these, there won’t be any of the problems with the ESP chips eventually failing because of too many writes to their flash memory.
See the request here: DS1307 - Add support for SRAM · Issue #2352 · esphome/feature-requests · GitHub.
As far as the wires too close to the mains, using external pull-up resistors of lower value (2k2 or 3k3), instead of depending on the built-in resistors of the ESP chip, usually helps. If you want to make it foolproof, you can also use opto-isolators on the inputs, this is what I did on my system and it took care of all the noise issues I had.

hellow everybody

Is it possibleto use the disarm code from the alarm panel with a text_sensor? of a number? that would be easy for changing the code without changing the yaml.

I know this is somewhat old but, i dont think the wiegand26 output/keypad was available back then. Another user made this and shared it with me to help me setup my keypad/rfid reader.

This allows you to add/remove people/codes from HA input_select entities or the keypad itself by doing certain sequences and many more features.

The thing i really like about these keypad/rfid readers is each persons access can be turned on and off instantly. This also allows you to see who is coming and going and when, because each persln has a unique pin or rfid tag and its logged each time they use the keypad.

With minimal work, a wiegand26 keypad could be used to arm/disarm the alarm or maybe even if a relative stops by and comes in, maybe for that person/pin number you dont want the alarm to trigger, but instead its disarmed and you get a notification that your mother-in-law is in town and you coincidentally have to stay st work late…

Theres lots of possibilities someone could do with a little imagination, thats my point and this would be a huge head start in combining it with alarm.

There are lots of keypads, rfid readers or combo keypad w/rfid readers that can be used. You just have to make sure that it has the Wiegand26/34 Output available because some dont.
This is the keypaf/rfid i use and can confirm it works with esphome.

You should be able to. The problem with doing that though is instead of everything being contained in esphome and not being dependent on HA working inorder for your alarm to work, you would have to give that up or atleast thats the only way i can think of.

In your yaml where you set codes. You would need to use a lambda to check for a new sensor state from your HA text_sensor. You may need to do some converting back and forth from a string to an integer because, i think whay you enter in text_sensor is a string and the code needs to be an integer…

I could be wrong about some lf the details but you have a framework to now go off of and fill in the details.

Do you really expect to be changing the code so frequently that you need a text sensor to do it faster? Doing that also opens up the possibility of HA users to reset your own pin on you too. Its probably nor the best Idea,. It only takesv20 seconds for update your config and change the code…

yes, I know it is easy and would not take long time to rebuild and download to the esp board.
I was thinking of changing the code by logging in to the url from the device, en so every one can change his own code without seeing which code a different person has.

But I’m still strubling with the code from the alarm panel…

I cant see the trees trough the forrest anymore…

Hellow,

I am also playing with this.
Could you make it running with dynamic codes?
I would like to make a dynamic code, for the cleaner.
I thought of changing a textsensor on the webserver of the Esp, but I am not possible for making this :neutral_face:

Hi Matthew,

I have been trying to get your project running buy I always get the error:

Failed config

alarm_control_panel.template: [source alarmpanel.yaml:52]
  platform: template
  
  [panels] is an invalid option for [alarm_control_panel.template]. Please check the indentation.
  panels: 
    home_alarm: 
      value_template: {{ states('sensor.alarm_condition') }}
      arm_home: 
        - condition: template
          value_template: {{ code == 'MYCODE' }}
        - service: esphome.alarm_system_arm_home
          data: 
            code: !secret esp_alarm_code
      disarm: 
        - condition: template
          value_template: {{ code == 'MYCODE' }}
        - service: esphome.alarm_system_disarm
          data: 
            code: !secret esp_alarm_code

Being new to ESPHome I honestly have no clue, what actually the problem is.

I’m thankful for all help!

Kind regards

Because AI does a crappy job at writing esphome configs and that looks like some AI jibberish.


[panels] is an invalid option for [alarm_control_panel.template]. Please check the indentation

It plainly tells you what the problem is. Read the documentation and try it yourself, its not that hard and atleast that way it looks like your actually trying.

@Fallingaway24 I’m honestly wondering why you are writing so harsh.

  1. Just to clarify, this is not any code from AI.
    Here I was merely trying to get the code from @MatthewFlamm on my ESP32 to test it.

  2. I did read the error message and I’ve seen that it says “Please check the indentation.” → which I did (To me it looks exactly like in the code from @MatthewFlamm)
    I also tried some different indentation, but I couldn’t solve the error.

  3. I did read in the documentation but due to less experience with yaml I currently just can’t get it solved → which is the reason, why I’m here and asking

I would be thankful for any help or hint.

Kind regards

Your right, they were using that code. What you missed that was specifically discussed in those same comments is, they were discussing setting up the alarm keycode in HA and typical AI code looks just like what you have, a mix between esphome and HA.

I get it, its easy to copy code but, your not doing yourself any favors and likely wont do well. You’ll be much better off to just refer to the documentation, it explains it and gives you examples so you can understand it. Your starting with someone else’s code and trying to fix something that may as well be in Chinese. You gotta walk before you can run. The documentation is how you learn to walk.

If you look at what you have and then look at the examples, yours is noticeably different. Also when you read through that documentation did you think it was strange that nowhere in it is a configuration called “Panels” nor is that word in there. It might as well be Chinese characters because esphome is saying, “HUH”?

This is an alarm system full of individually unique configurations and sensors. Its not something you can just copy and paste anyway.

This is what I’ve been doing the last few days.

Nevertheless I just wanted to get the code from MatthewFlamm running on my ESP32 to experiment with it.

Of course I realized that there was nothing documented about “panels”.
But I thought to myself that it might be an exception which is not documented.
How was I supposed to know?

Meanwhile I’ve started writing my own code for the alarm_control_panel, trying to do it step by step according to the documentation.
Still doesn’t solve the problem I posted here :wink:

Kind regards

The problem you posted, I told you what was wrong with it and what you should do. If youve started a new one and it isnt working then post your code and what the problem is. Only saying its not working, that isnt much information to work with.

This thread needs to cool down. It could also be said that the other poster did not read the manuals because the panels config entry is valid, just for the homeassistant configuration

There are two configurations, one for esphome, the other for homeassistant. You might have mixed them up?

Be warned however that this project does require understanding what each piece does. It is provided mostly for inspiration and as a starting point for tinkering. It was also written over 4 years ago, so is likely outdated in parts. However the panel config is still valid.

1 Like