Have you set the purge_keep_days
of the recorder
component to at least the amount of days shown on the chart?
I’ll try that thank you !
After reading this
and im having a 1/2 knee replacement i have build the knee strength up with no weight
DOC said I have ride a stationary bike
thinking on one of the bike rides " could i do the rain gauge to this.
and my the battery going flat on mine Zigbee Bed occupancy sensor
so tape it to the bike wheel and get a count bugger it worked ok
now the maths (im just winging it )
i walk the bike one turn which came to 2.2 mtr
base on the above maths I did
#=======================================================================
#
#=======================================================================
- platform: history_stats
name: bike turns
entity_id: binary_sensor.bike_contact
state: 'off'
type: count
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
- platform: template
sensors:
bike_today:
friendly_name: Bike Today
unit_of_measurement: km
value_template: >-
{% set count = states('sensor.bike_turns') | int %}
{% set mm_per_pulse = 2200 %}
{% set mm = (count * mm_per_pulse) %}
{% set KM = mm / 1000000 %}
{{ KM|round(2, 'floor') }}
will add lovelace screen after tomorrow bike ride
here is the lovelace look
after some more thinking
Really cool! Let us know the results haha. And good luck with recovering!
Great contribution here! Awesome raingauge.
I’ve also succesfully built it and enjoy the readings.
I’ve also seen the restart hass false flip-count issue. Tried to find a decent solution and I think I have found one. So I’m trying to give something back.
Basically, the problem resides in Hass, when the restart occurs, the binary sensor goes unavailable for a short while, somehow it seems that it is calculated in the history_stats. Not sure if this is expected behaviour or maybe a bug.
However. When you create an inverted binary sensor of your contact-sensor (I’m also using Zigbee2MQTT), then this problem no longer occurs:
- platform: template
sensors:
regensensor_contact_invert:
value_template: >-
{{ is_state('binary_sensor.regensensor_contact', 'off') }}
friendly_name: Regensensor
device_class: door
Edit: please be aware, above is a binary_sensor. The device_class also is important here.
(because we only mirror ‘off’ state, an unavailable state doesn’t mess anything up)
Then all you have to do is alter the history_stats sensor to use this inverted one instead, and ofcourse count state ‘on’ instead, because it’s inverted now (very important):
- platform: history_stats
name: Regensensor flips
entity_id: binary_sensor.regensensor_contact_invert
state: 'on'
type: count
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: '{{ now() }}'
I’ve also done this but using a battery operated cheapo 433 door/window sensor.
No need for power or rewiring but you do need a 433 bridge.
I just fitted the sensor inside the casing and added another magnet to the opposite pivot point on the tipper.
I love your brilliant idea! Thanks for posting this.
Could show us with some pic
Yes…
I meant to take a photo and post it here but I forgot.
It’s in-situ now but I promise to try and sort it out as soon as I get time.
Sorry
sorry for the dumb question.
But where should I integrate this code?
To my config.yaml?
If I save this, there is always an error and I cannot restart my home assistant
no dump question here bro
what are you trying to add
so 1o1 then
glue is looking at the platform that I the Main pointer and that where it all starts
this is basic on my understanding of HA
1st we have
platform: history_stats
that belong with a sensor as its getting data from SOMETHING but we dont know what
that were the platform come in its a pointer
so in my config file I have
SHIT I LOVE YAML you can see what you are getting
(note took 2 months to get head around it LOL)
note the sensor bit its point to a sensor folder
sensor: !include_dir_merge_list sensor
so any YAML stuff (file) inside that folder is loading in as a sensor thing (my english LOL)
so base of there file names you get and idea on what im trying to do thanks @frenck for your logic
so the in the statistic.yaml i have the
my logic here i always paste make at top of file easy to find LOL
then my other bits are the the template.yaml file
this is one of the GOOD THING ABOUT HA I can do it MY WAYS as long and i play with in the rules
anymore question just ask bro
thanks for that detailed explanation.
But this is a lil bit too much for me
can you (simple) explain, where I have to integrate the two codes from the first post?
I added the sensor to my home assistant and I get “open/closed” status…
Now I have to integrate the code, if I understand the proceed correctly?
The code has to be under the sensor:
line. If it’s not present, create it
thank you, now it works
Now I have to figure out, how I can implent this to node red to create a telegram message, if rain starts
okay, today I simulated rain with a watering can
I realized that I have an problem with my code, the “Regenfall heute” (rainfall today) doesn’t count…
#Regensensor
- platform: history_stats
name: Regenmesser
entity_id: binary_sensor.regensensor
state: 'off'
type: count
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: '{{ now() }}'
- platform: template
sensors:
regenfall_heute:
friendly_name: Regenfall heute
unit_of_measurement: mm
value_template: >-
{% set count = states('binary_sensor.regensensor') | int %}
{% set mm_per_pulse = 0.30303 %}
{% set mm = count * mm_per_pulse %}
{{ mm|round(1, 'floor') }}
Can you tell me, which sensor I need to implement in 4th last row (current is binary_sensor.regensensor insert)?
Dont know why in the first post is there a second sensor and not the binary_sensor included…
Edit:
Got it!
have to set the sensor.regenmesser
Use this
- platform: template
sensors:
regenfall_heute:
friendly_name: Regenfall heute
unit_of_measurement: mm
value_template: >-
{% set count = states('sensor.regenmesser') | int %}
{% set mm_per_pulse = 0.30303 %}
{% set mm = count * mm_per_pulse %}
{{ mm|round(1, 'floor') }}
Your idea of inverted sensor works flawlessly. So simple and effective. Thanks for sharing !
I was a bit terse with my picture response but I have been very busy elsewhere, sorry.
So, I should add that it took a bit of trial and error to get the sensor in the right place because the reed switch lies horizontally. But is seems reliable. As you can see I added a small magnet to the pivot point and had to lift the sensor up a bit off the base. I used some magnetic tape I had lying around and stuck a couple of magnets on the bottom of the sensor. That way, not only could I lift it higher in small increments by adding extra magnets but I can also move it around to get it aligned properly and remove it easily when I need to change the battery.
In case it is useful, here is my config but it hasn’t rained since I installed it so can’t be 100% certain it is right but it seemed good in testing…
#===================
#=== Binary Sensors
#===================
binary_sensor:
- platform: mqtt
name: rain_gauge
state_topic: 433/rain_gauge
off_delay: 1
#============
#=== Sensors
#============
sensor:
#==================
#=== History Stats
#==================
# Today
- platform: history_stats
name: Rain Gauge Tips Today
entity_id: binary_sensor.rain_gauge
state: "on"
type: count
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
# Yesterday
- platform: history_stats
name: Rain Gauge Tips Yesterday
entity_id: binary_sensor.rain_gauge
state: "on"
type: count
end: "{{ now().replace(hour=0, minute=0, second=0) }}"
duration:
hours: 24
Well, I think that this is going to have to be the next project! Awesome!