AbfallentsorgungBerlin BSR, ALBA und BerlinRecycling - neue Module

Begonnen von RomanticBoy83, 17 Juni 2017, 00:32:23

Vorheriges Thema - Nächstes Thema

castor.srs

Besten Dank. Mit der manuellen Eingabe des adrkeys funktionieren alle Module prima :-)

RomanticBoy83

Ich habe jetzt das Modul Wertstofftonne umgeschrieben.
Anders als auf der Webseite sind nun Straßennamen wie Strasse 42 möglich. Die Suche der richtigen Adresse erfolgt nun in mehreren Schritten. Dazu gibt es zwei Dropdownmenues: street und hnr. Sollte nur eine Auswahl gefunden werden, dann wählt das Modul diese selbständig aus und führt das Update aus.

kvo1

Moin,

klingt nicht schlecht, werde die nächsten Tage mal testen und berichten !

kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

kvo1

Hallo RomanticBoy83

also die ersten beiden tun genau das was sie sollen, danke.

Beim BerlinRecycling kommt...Cannot load module berlinrecycling

das Modul ist aber vorhanden und die Rechte passen auch !
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

RomanticBoy83

vermutlich fehlt dir etwas - den TagParser hast du installiert?

# Laden evtl. abhängiger Perl- bzw. FHEM-Module
# http://www.kawa.net/works/perl/html/dist/HTML-TagParser-0.20.tar.gz

kvo1

den TagParser habe ich bisher noch nie installiert.

Reicht es, die TagParser.pm zu kopieren (wo muss die stehen ../FHEM ?) oder muss das komplett inst. werden.

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

RomanticBoy83

Es reicht die TagParser.pm zu kopieren. Je nach System kann es durchaus unterschiedlich sein wo deine perl Bibliotheken liegen. Auf dem RPi habe ich die Datei unter /usr/share/perl5/HTML/TagParser.pm zu liegen.

kvo1

der TagPaser ist drauf, Modul lässt sich jetzt auch laden.
Letzte doofe Frage..... muss ich bei BerlinRecycling anmelden oder woher kommt <login> <password>

define <name> berlinrecycling <login> <password>

sorry & Danke
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

RomanticBoy83

Die Daten für die Webseite hatte ich - glaube ich - mit dem Vertrag bekommen.

castor.srs

Moin,

beim berlinrecycling-Modul bekomme ich seit Tagen folgende Werte (auch next_datum ist stets dasselbe):

next_datum 9..2018
next_tage -1
next_wochentag -1
state -1


Auf der Berlin-Recycling-Homepage zeigt er mir die nächsten Abfuhrtermine alle korrekt an. Im Log gibt er auch keine Fehlermeldung aus:

2018.04.21 23:14:56 5: [requestedHeader]Date:Sat, 21 Apr 2018 21:14:56 GMT
2018.04.21 23:14:56 5: [requestedHeader]Server:Apache-Coyote/1.1
2018.04.21 23:14:56 5: [requestedHeader]Content-Type:text/html;charset=ISO-8859-1
2018.04.21 23:14:56 5: [requestedHeader]Content-Language:en
2018.04.21 23:14:56 5: [requestedHeader]Set-Cookie:JSESSIONID=0DC76907B0C18B409FA09A770923328F; Path=/Kundenportal
2018.04.21 23:14:56 5: [requestedHeader]Connection:close
2018.04.21 23:14:56 5: [Cookie]JSESSIONID=0DC76907B0C18B409FA09A770923328F; Path=/Kundenportal
2018.04.21 23:14:56 5: [RequestAbfuhrkalender]
2018.04.21 23:14:56 5: [RequestData]
2018.04.21 23:14:57 5: [ParseData]
2018.04.21 23:14:57 5: 9..2018
2018.04.21 23:14:57 5: [Logout]
2018.04.21 23:14:57 5: [End]


Tritt der Fehler nur bei mir auf? Hast Du eine Idee, woran es liegen kann?

Besten Dank vorab und schöne Grüße

castor.srs

Hallo RomanticBoy,

habe den Fehler nun doch selbst gefunden, nachdem ich mir $data im Log ausgeben lassen habe.

Die Anzeige 9..2018 kommt aus der sub berlinrecycling_formatMonth(): Berlin Recycling übergibt Daten im Format d M, Y offensichtlich auf englisch. Nachdem ich in der sub "Mai" in "May" geändert habe, hat das Modul das Abholdatum ausgegeben.

Wochentag und verbleibende Tage fehlten aber immer noch. Das lag daran, dass die Subs berlinrecycling_formatDay und berlinrecycling_diffDay nur zweistellige Tageszahlen akzeptieren. Ändert man im elsif-Regex und dem Regex der folgenden Zeile den Zähler für die Tagesangabe von {2} in {1,2}, funktioniert es :-)

sub berlinrecycling_formatDay($){
...
  } elsif ($day =~ /^([0-9]{1,2}).([0-9]{2}).([0-9]{4})$/){
    ($d,$m,$y) = $day =~ /^([0-9]{1,2}).([0-9]{2}).([0-9]{4})$/;
  } else {
    ...
}


sub berlinrecycling_diffDay($){
...
  } elsif ($nextdate =~ /^([0-9]{1,2}).?([0-9]{2}).?([0-9]{4})$/){
    ($d,$m,$y) = $nextdate =~ /^([0-9]{1,2}).?([0-9]{2}).?([0-9]{4})$/;
  } else {
...
}

RomanticBoy83

Danke für die Hilfe. Deine Lösung war leider zu schnell für mich (Du hattest das Problem schon behoben, als ich es gefunden hatte). Dennoch möchte ich hier für alle die Überarbeiteten Module noch einmal aktuell zur Verfügung stellen. Die Module haben hauptsächlich eine Überarbeitung in der commandref erfahren und tragen nun auch eine Versionsnummer.

RomanticBoy83

BugFix in BerlinRecycling zu Version2 - Es wurden keine Anfragen vom Server mehr entgegengenommen(schon Login war nicht möglich und wurde mit Seite nicht erreichbar gelogt), da der Cookie falsch interpretiert wurde.

der-Lolo

Guten Morgen RomaticBoy83,
ich habe gerade deinen Module in augenschein genommen um die nächsten Abfuhrtermine in FHEM zu haben.
Das funktioniert vom Prinzip her auch wunderbar für die graue Tonne, den Gelben Sack und die Laub Tonne...
Aber wo bekomme ich nun den Termin für Papier von Alba her..?

Im Threadtitel steht ja Alba...

RomanticBoy83

#29
Hallo und einen guten Morgen,
ich vermute mal, dass du nur das Modul für die BSR meinst. Ich habe beobachten können, dass die BSR an unterschiedlichen Stellen unterschiedlich gut über die Abholung informiert. Bei mir persönlich erhalte ich z.B. keine gelbeTonne und habe deshalb das Modul für die Wertstofftonne geschrieben. In einer Straße in der Nähe kann ich die Termin von Alba hingegen bei der BSR abrufen.

Meine Empfehlung ist, dass du wie auf der Seite der BSR empfohlen, einmal eine andere Hausnummer ausprobierst.
Solltest du dann noch immer kein Ergebnis haben, dann müssen wir mal sehen wo wir diese Abholtermine im Internet abrufen können. (eventuell ein Modul für ALBA noch schreiben) Die Seite https://auftrag.alba.info/berlin/papiertonne/abfuhrtermine.html scheint dazu eine Lösung zu sein.

mit besten Grüßen zum Wochenende