A "I quit smoking" sensor

I quit smoking recently and made a sensor that counts the days that have since passed. In case you want to use it just change the date in the strptime():

- platform: template
  sensors:
    nonsmoker:
      value_template: '{{ (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}'
      friendly_name: 'Nichtraucher'
      unit_of_measurement: "Tage"

Now add the new sensor to your customize.yaml and give it a matching icon:

sensor.nonsmoker:
  icon: mdi:smoking-off

VoilĂ ! It looks like this:
nonsmokersensor

This is great sensor code for any type of date related sensor… Nice work! and keep up the battle to quit smoking!

How do you get that fuel price?

Take a look at this thread. Fuel price is provided bei tankerkoenig.de. You need an API-Key:

Too bad…

Hier gibt es den einfachen Zugang zu den aktuellen Spritpreisen aller an die Markttransparenzstelle fĂĽr Kraftstoffe (MTS-K) meldenden Tankstellen Deutschlands.

I live in the Netherlands, so that won’t be of use.

A little bit offtopic, but…
You can scrape the data, I do this to extract the local gasprice for the nearest Shell Express station.

  - platform: scrape
    resource: https://www.shellexpress.nl/nl_nl/station/se-nieuwerkerk-aan-den-ijssel
    name: Shell Express
    select: ".price-actual"
    value_template: '{{ value.split(" ")[0] }}'
    unit_of_measurement: "EUR/L"

image

Also off topic but I was looking for a dutch way to do it. I am using this app on my phone to get the cheapest gas prices around my position: https://directlease.nl/tankservice/

Maybe there is a way to gather the data from here for a bit more option than just shell.

Good job on quiting smoking OP.

Nice how you added it to Home Assistant

OFFTOPIC

I checked that. The website has an api call for getting all stations with lat/lon. But from that you can only get to the station prices from a png image. That is of no use.

I tried mitmproxy to sniff the app, but that uses https/ssl traffic, so SSL certificates were invalid and therefor I was unable to read which api calls are made.

Perhaps someone with more technical skills can reverse-engineer the iOS app.

I was also thinking of scraping from

or

but I was having a hard time getting the filter right.

@jay448 @Bob_NL I suggest we start a new topic to continue this discussion.

Update: this discussion continues over here:

@jones sorry ask you but i dont understand. 1.65 tage is what??

Google: translate tage to English

German: tage
English: days

Google: translate Nichtraucher to English

German: Nichtraucher
English: non smoking

i believe its actualy nonsmoker

Thanks. It would be nice if we could improve the translator

Right! My Homeassistant is a weird mix between German and Englisch. Sorry about that.

mine is even more wierd.

i got mostly dutch, but its also partly german and partly english :wink:

Thank you jones! I have never smoked but did implement the Tankerkönig. Works flawlessly! Great stuff!

@GraysonPeddie yes tage is days, but 1.65 is what? 1= one day and .65???

hmm, that isnt that hard to understand.
1.65 days is 1.65* 24 hours

so .65 is 15 hours and 10 minutes

1 day and 15.6 hours. 0.6 hour is 36 minutes.

oops, i calculated wrong. thx for correcting :wink: