German Müllabfuhr sensor (regioIT)

Thanks for the hint! I had the same problem. I’m thinking of a rest sensor to monitor these values. Or is there any option to get those values dynamically by only referencing the ort and street names?

Maybe these are variable values which are changing time by time?!

Component updated!

New configuration is now

- platform: abfallapi_regioit
  name: muellabfuhr
  scan_interval: 3600
  anbieter_id: KRWAF
  ort: 'Ahlen'
  strasse: 'Abtstraße'

cheers

2 Likes

Nice! You are awesome! I’ll try this out tomorrow as soon as possible.

Hello can anyone tell me how to integrate Kerpen? The data is right here.

or here

@karl1986 This is unrelated to the offered addons. Take a look in the original thread: Home-Assistant integration of 'Abfall.IO' waste collection dates & schedule

Could it be that at the moment the api dosn*t work at the moment? I can get the street and the city but i cannot get the dates.

There are multiple API endpoints (Anbieter) involved. For Pinneberg for example everything works fine, but I don’t know about the other Anbieter.

@karl1986 @Slash You might be able to integrate your particular service provider using the ICS integration from HACS (or from here https://github.com/KoljaWindeler/ics)
For that you simply need an online available calendar file (ics) which most provider offer nowadays.
JKW

1 Like

I will give it a try, thanks

Just wanted you let you know that I created a framework which supports multiple waste collection services, including RegioIT. The framework provides some extra features, including wizard’s which help to get the configuration settings for a lot of cities.

Have fun!

in the combination with the HA telegram bot notification or Alexa Mediaplayer Integration, thats a great reminder function. The special with the Telegram notification is that it is possible to stop the reminder funktion afte the bin is at the street and the different possibles are great for all of us the shift this work until the last chance :wink: i found this example and use this for the automation of the Recycle bin automation but than i find out it is also useful for reminder notifications with other Background like reminders to close windows etc.

- id: 'muelltonnen_rausstellen'
  alias: 'Mülltonnen rausstellen'
  trigger:
    - platform: time
      at: "18:00:00"
    - entity_id: binary_sensor.someone_is_home
      from: 'off'
      platform: state
      to: 'on'
  condition:
    - condition: and
      conditions:
      - condition: time
        after: '09:00:00'
      - condition: time
        before: '23:00:00'
      - condition: template
        value_template: "{{ (states.sensor.muellabfuhr.state != 'Keine') and (states.sensor.muellabfuhr.state != 'unknown') }}"
  action:
  - service: notify.mobile_app_daniels_iphone
    data_template:
      message: '{{ states.sensor.muellabfuhr.state }}'
      data:    
  - service: notify.telegram_group
    data_template:
      message: '{{ states.sensor.muellabfuhr.state }}'
      data:
          inline_keyboard:
          - '30 Minutes:/30m, 1 Hour:/1h, 3 Hours:/3h'
          - 'OK:/okay, No reminder:/removekeyboard'

- id: 'telegramrepeat30m'
  alias: 'Telegram callback to repeat message in 30 minutes'
  
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      data: '/30m'
  action:
  - service: telegram_bot.answer_callback_query
    data_template:
      callback_query_id: '{{ trigger.event.data.id }}'
      message: 'OK, reminding you in 30 minutes'
  - service: telegram_bot.edit_replymarkup
    data_template:
      message_id: '{{ trigger.event.data.message.message_id }}'
      chat_id: '{{ trigger.event.data.user_id }}'
      inline_keyboard: []
  - delay: '00:30:00'
  - service: notify.telegram_northpower25home
    data_template:
      message: '{{ trigger.event.data.message.text }}'
      data:
        inline_keyboard:
          - '30 Minutes:/30m, 1 Hour:/1h, 3 Hours:/3h'
          - 'No reminder:/removekeyboard'

- id: 'telegramrepeat1h'
  alias: 'Telegram callback to repeat message in 1 hour'
  
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      data: '/1h'
  action:
  - service: telegram_bot.answer_callback_query
    data_template:
      callback_query_id: '{{ trigger.event.data.id }}'
      message: 'OK, reminding you in 1 hour'
  - service: telegram_bot.edit_replymarkup
    data_template:
      message_id: '{{ trigger.event.data.message.message_id }}'
      chat_id: '{{ trigger.event.data.user_id }}'
      inline_keyboard: []
  - delay: '01:00:00'
  - service: notify.telegram_group
    data_template:
      message: '{{ trigger.event.data.message.text }}'
      data:
        inline_keyboard:
          - '30 Minutes:/30m, 1 Hour:/1h, 3 Hours:/3h'
          - 'No reminder:/removekeyboard'

- id: 'telegramrepeat3h'
  alias: 'Telegram callback to repeat message in 3 hour'
  
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      data: '/3h'
  action:
  - service: telegram_bot.answer_callback_query
    data_template:
      callback_query_id: '{{ trigger.event.data.id }}'
      message: 'OK, reminding you in 3 hour'
  - service: telegram_bot.edit_replymarkup
    data_template:
      message_id: '{{ trigger.event.data.message.message_id }}'
      chat_id: '{{ trigger.event.data.user_id }}'
      inline_keyboard: []
  - delay: '03:00:00'
  - service: notify.telegram_group
    data_template:
      message: '{{ trigger.event.data.message.text }}'
      data:
        inline_keyboard:
          - '30 Minutes:/30m, 1 Hour:/1h, 3 Hours:/3h'
          - 'No reminder:/removekeyboard'        

- id: 'telegramremovemessage'
  alias: 'Telegram callback message'
  
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      data: '/okay'
  action:
  - service: telegram_bot.answer_callback_query
    data_template:
      callback_query_id: '{{ trigger.event.data.id }}'
      message: 'OK'
  - service: telegram_bot.delete_message
    data_template:
      message_id: '{{ trigger.event.data.message.message_id }}'
      chat_id: '{{ trigger.event.data.user_id }}'
      inline_keyboard: []

- id: 'telegramremoveinline'
  alias: 'Telegram callback to remove keyboard'
  
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      data: '/removekeyboard'
  action:
  - service: telegram_bot.answer_callback_query
    data_template:
      callback_query_id: '{{ trigger.event.data.id }}'
      message: 'OK'
  - service: telegram_bot.edit_replymarkup
    data_template:
      message_id: '{{ trigger.event.data.message.message_id }}'
      chat_id: '{{ trigger.event.data.user_id }}'
      inline_keyboard: []

Kolja, many thanks for the super tool. Can you tell me how to get my ICS from this site? https://www.schoenmackers.de/rund-um-service/muellalarm/

I have found out the following address

https://api.abfall.io/?key=e5543a3e190cb8d91c645660ad60965f&modus=d6c5855a62cf32a4dadbc2831f0f295f&waction=export_ics

in the visualization I get this error “no next event (-1)”

Hi, your ics file is empty … at least when if follow your link.
I guess your key phrase isn’t valid for a long time … have you tried downloading the file and place it into your filesystem. then you can use with e.g. url file:///config/yourfile.ics
kolja

Hi, the error is still there. I have now packed the ICS file into config/www/kalender.

your tool was installed via hacs.

sensor:
  - platform: ics
    name: Abfallkalender
    url: local/kalender/abfall.ics
    id: 1  

and integration in lovelace

entities:
  - entity: sensor.ics_1
title: Abfallkalender
type: entities
show_header_toggle: false
1 Like

hmmm I’m not sure if that can work … can you try:
http://localhost:8123/local/kalender/abfall.ics
Kolja

BTW: there is a new version in HACS that supports config flow, so you don’t have to use YAML and you can test it / set it up without restarts

2 Likes

Thanks, that works now.

You got any advice for me that shows more than just the date. I’d be interested in the kind of household garbage, plastic, or paper and more entries than just the next one.

yes, create multiple sensors and use a different filter (startswith) for each.


Kolja

@karl1986 @Slash If you are interested in automatic daily updates you can also use the Waste Collection Schedule Framework. There is also a wizard which helps to extract the arguments for the source.

Hey, I really do like the addon (I often forget about putting the garbage container on the street). However, it works for me for the Kreis Warendorf, but noch for Coesfeld

Example:
´- platform: abfallapi_regioit
name: muellabfuhr
scan_interval: 3600
anbieter_id: KRWAF
ort: ‘Ahlen’
strasse: ‘Abtstraße’ ´
→ this works just fine

´- platform: abfallapi_regioit
name: muellabfuhr
scan_interval: 3600
anbieter_id: COE
ort: ‘Nottuln’
strasse: 'Burgstraße’´

I get the following error in the logfile:

´Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 250, in _async_setup_platform
await asyncio.shield(task)
File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 52, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/abfallapi_regioit/sensor.py”, line 51, in setup_platform
base_url = CITIES[anbieter_id]
KeyError: 'COE’´

Seems like Coesfeld ist not recognized. Any help would be appreciated! Thanks a lot!