Waste Collection API Service über C-Trace.de

Hallo zusammen,

bin aktuell am Spielen / Üben / Aufbauen von meinem HA, also noch ganz am Anfang und noch “Grün hinter den Ohren” habe leider schon Blut geleckt ;-(

aktuell beiße ich mir die Zähne hierbei aus…
Mein provider wird aufgeführt.
=> * [Abfallwirtschaft Rheingau-Taunus-Kreis]

Als Bsp. wird:
waste_collection_schedule:
sources:
- name: c_trace_de
args:
service: bremenabfallkalender
ort: Bremen
strasse: Abbentorstraße
hausnummer: 5

angegeben… Kopiere ich mir die Zeilen, bekomme ich auch die Daten im Kalender angezeigt.

Meine Daten kann ich online unter:
Home - EAW - Eigenbetrieb Abfallwirtschaft Rheingau-Taunus-Kreis (eaw-rheingau-taunus.de)
abrufen. Laut Github sollte das ja auch mit C-trace.de möglich sein. Trage ich nun unter service: rheingauleerungen ein (Quelle die Tabelle bei Github)
bekomme ich weder für meine Straße noch andere Strassen ein Ergebnis. habe es mit Ortsteil / Schreibweise Straße und Strasse probiert… immer nix…

Wie kann ich testen, dass C-Trace eine Verbindung zu meinem Entsorger noch hat (nicht dass die Zusammenarbeit beendet wurde)???

Hat niemand eine Idee, wie ich die Verbindung mit C-trace testen kann?

Moin,
zur Info wenn du vor und nach dem code ``` schreibst wird es deutlich besser lesbar:

waste_collection_schedule:
  sources:
  - name: c_trace_de
    args:
      service: rheingauleerungen
      ort: "dein Ort"
      strasse: "deine Straße"
      hausnummer: 123

je nachdem wo du wohnst kann es aber auch sein das du noch gemeinde: oder ortsteil: hinzufügen musst und dann sollte es eigentlich funktionier.
Sonst mal in die Logs gucken ob da eine Fehlermeldung kommt.

LG

Danke für den Tipp mit ```

Gebe ich wie hier beschrieben hacs_waste_collection_schedule/doc/source/c_trace_de.md at master · mampfes/hacs_waste_collection_schedule (github.com)

waste_collection_schedule:
  sources:
    - name: c_trace_de
      args:
        service: SERVICE
        ort: ORT
        gemeinde: GEMEINDE
        ortsteil: ORTSTEIL
        strasse: STRASSE
        hausnummer: HAUSNUMMER

eingebe, kommt ein Fehler:
Logger: homeassistant.setup
Source: custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py:196
Integration: waste_collection_schedule (documentation)
First occurred: 16:33:00 (1 occurrences)
Last logged: 16:33:00

Error during setup of component waste_collection_schedule

*Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/setup.py”, line 288, in _async_setup_component result = await task ^^^^^^^^^^ File “/config/custom_components/waste_collection_schedule/init.py”, line 109, in async_setup api.add_source_shell( File “/config/custom_components/waste_collection_schedule/init.py”, line 202, in add_source_shell SourceShell.create( File “/config/custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py”, line 196, in create source = source_module.Source(*source_args) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Source.init() got an unexpected keyword argument ‘gemeinde
`

Wenn ich Ort und Ortsteil angebe kommt:

Logger: waste_collection_schedule.source_shell
Source: custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py:136
Integration: waste_collection_schedule (documentation)
First occurred: 16:35:42 (1 occurrences)
Last logged: 16:35:42

fetch failed for source C-Trace: Traceback (most recent call last): File “/config/custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py”, line 134, in fetch entries = self._source.fetch() ^^^^^^^^^^^^^^^^^^^^ File “/config/custom_components/waste_collection_schedule/waste_collection_schedule/source/c_trace_de.py”, line 209, in fetch r.raise_for_status() File “/usr/local/lib/python3.11/site-packages/requests/models.py”, line 1021, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://web.c-trace.de/rheingauleerungen/(S(eubww55rlur4rhkrfa3tuuct))/abfallkalender/cal?Ort=…

gleiches kommt, wenn ich Ort / Ortsteil tausche oder die Str , Strasse oder Straße schreibe…

noch irgendwelche Ideen?

Habe den Fehler gefunden!!!
Die Abfallwirtschaft hat da ein Problem…
Downloads - EAW - Eigenbetrieb Abfallwirtschaft Rheingau-Taunus-Kreis (eaw-rheingau-taunus.de)
Hat u.a. den Plan für mein Ort.
Bei der Abfrage von Waste Collection
Abfallkalender Rheingau (c-trace.de)
sind aber ganz andere Orte hinterlegt!
Kein Wunder, dass mit meinem Ort da kein Treffer gefunden werden konnte.

Hey, muss den Thread nochmal rauskramen, da du offensichtlich in meiner Nähe wohnst ^^
Wie hast du es denn gelöst bekommen mit der EAW? Weil der “Untertaunus” (zu dem ich laut denen gehöre, aber der ist erst eine Gemeinde weiter) scheint nicht in C-Trace zu sein.
Geht nur über die iCal Datei oder?

Hallo,

Nein, hab es aufgegeben!
Wenn es nicht automatisch importiert werden kann, ist mir der Aufwand es nicht wert…

Dann meld dich mal bei mir per PN wenn du magst… hab gerade den Link zur iCal Datei hinzufügen können, also hab ichs wenigstens schon mal im Kalender :smiley:
Sensoren muss ich jetzt noch anlegen.
Aber wenn du mir per PN deinen Wohnort und Straße (Hausnummer braucht es ja nicht bei der EAW) schickst, dann kann ich dir den Text für die Configuration.yaml schicken :wink:
Das sollte dann automatisch auch im nächsten Jahr funktionieren, der Link war 2023 genau der selbe meine ich…

Habs jetzt fertig, hier die Lösung:

Als Beispiel mal eine völlig wahllose Adresse (Niedernhausener Weg in Idstein) ergibt folgenden Link–>
http://www.eaw-rheingau-taunus.de/abfallsammlung/abfuhrtermine/ics/niedernhausener-weg-1179/feed.ics

Einfach den vorletzten Teil mit der Straße und dem vierstelligen Code gegen das eigene austauschen. Das sieht man nach der Suche auf der Seite im Link. Oder Rechtsklick auf den iCal Link, Adresse kopieren und den webcall vorne entfernen und gegen http austauschen :wink:

Den Link dann mit der ICS-Vorlage in die Configuration.yaml packen.

waste_collection_schedule:
  sources:
    - name: ics
      args:
        url: http://www.eaw-rheingau-taunus.de/abfallsammlung/abfuhrtermine/ics/niedernhausener-weg-1179/feed.ics

Bei mir sind in den Kalendereinträgen immer 3-4 Tonnen in einem Kalendertermin…
Falls die Sensoren ein Problem sind, dann hier mein Beispiel:

sensor:
  # ------- Garbage Collection -------
  # Nächste Abholung Alle Tonnen
  - platform: waste_collection_schedule
    name: "Alle Tonnen"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Restmülltonne, Biotonne, Altpapiertonne, Gelbe Tonne
  # Nächste Abholung Biotonne und Gelbe Tonne
  - platform: waste_collection_schedule
    name: "Bio + Gelbe Tonne"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Restmülltonne, Biotonne, Gelbe Tonne

Edit:

Mit Customize (alias) lassen sich die langen Kalendertermine einkürzen, damit der Text vor den verbleibenden Tagen nicht so lang ist:

waste_collection_schedule:
  sources:
    - name: ics
      args:
        url: http://www.eaw-rheingau-taunus.de/abfallsammlung/abfuhrtermine/ics/niedernhausener-weg-1179/feed.ics
      customize:
        - type: Restmülltonne, Biotonne, Altpapiertonne, Gelbe Tonne
          alias: Müll
        - type: Restmülltonne, Biotonne, Gelbe Tonne
          alias: Biomüll

Entprechend dem kürzeren Alias dann natürlich noch die Sensoren anpassen :wink:

1 „Gefällt mir“

Danke das war doch einfacher, als gedacht :grinning:

Seit dem letzten Update habe ich die Info Invalid config für die Integration…
Der Link der url ist aber immer noch der gleiche!

Nach einiger Sucherei bin ich dann auf die Hilfe hier gestoßen.
(https://www.youtube.com/watch?v=yhxbTMrojH0)

Falls das noch wer liest :slight_smile:

Ich nutze exakt den gleichen Abfallkalender und habe das Problem, dass die Reihenfolge der Tonnen in den Kalendereinträgen scheinbar wild gewürfelt sind:
Altpapiertonne, Gelbe Tonne, Restmülltonne, Biotonne
Gelbe Tonne, Restmülltonne, Biotonne, Altpapiertonne
Biotonne, Altpapiertonne, Gelbe Tonne, Restmülltonne
aber auch mal:
Biotonne, Restmülltonne, Gelbe Tonne
weil Papier nur alle vier Wochen dabei ist.
usw.
Muss ich dafür jede Menge Type Einträge machen und hoffen, dass die richtige Reihenfolge zuerst kommt und beim Parsen nicht überschrieben wird oder kann man das auch irgendwie schlau lösen?
Im Grunde muss ich unterscheiden zwischen jeder Kobination aus:
Altpapiertonne, Gelbe Tonne, Restmülltonne, Biotonne, was immer “Alle Tonnen” wäre und dann jede Kombination aus:
Gelbe Tonne, Restmülltonne, Biotonne
Was “Alles außer Papier” wäre.

Danke für eure Ideen :slight_smile:

1 „Gefällt mir“

Ich les auf jeden Fall noch mit :stuck_out_tongue_winking_eye:
Leider hab ich das Problem auch und mir ist nicht wirklich ein guter Work-Around eingefallen :man_shrugging:t3:
Muss aber auch gestehen, dass ich in letzter Zeit da keine Arbeit investiert habe… wenn ich nach Hause komme, dann haben alle im Ort die Tonnen draußen, das reicht mir normal als Erinnerung :rofl:
Man könnte den Kalender durchgehen und die möglichen Kombinationen dem Sensor hinzufügen. Noch viel schlauer wäre es aber wenn man im Text nach dem jeweiligen Wort suchen lassen könnte, aber das überschreitet meine YAML Künste :see_no_evil:

Dann sind wir exakt auf dem gleichen Stand und haben den gleichen Workaround :rofl:
Ich denke, dass doch, dass man auch an der Stelle mit Stringoperationen arbeiten kann aber habe mich damit noch nicht beschäftigt. Wenn ich die Muße dazu finde werde ich berichten.

Herzlichen DANK Asakiro eine sehr gute arbeit ich in seit bestimmt 1 1/2 Jahr daran und war heute kurz vorm aufgeben! aber dank deinem Beitrag hat es geklappt und ich bin sehr Happy!

Mega das du dich da so rein gearbeitet hast dasn mit dem EAW scheint wohl nicht so flüssig zu laufen aber so geht es ja auch bestens ohne jedes JAhr tätig zu werden.

1000 Dank und Grüße aus dem Rheingau Taunuskreis

CJ

1 „Gefällt mir“