Seite 1 von 1

Abfallkalender migrieren von OH 2 > OH 3

Verfasst: 17. Jul 2022 15:04
von technick90
Hallo,

ich möchte nun endlich von OH 2 zu OH 3 migrieren.
Trotz der vielen Ansätze im Internet kriege ich jedoch mein Abfallkalender nicht 1zu1 migriert.
Dieser besteht unter OH 2 aus folgenden Elementen:

item

Code: Alles auswählen

//Abfall heute
String ABFALL_ICAL_heute { http="<[http://NAS/Abfuhrtermine_2022.ics:360000:JS(abfall_heute.js)]" }
Switch 		ABFALL_AKTIV_heute
String 		ABFALL_NAME_heute

//Abfall morgen
String ABFALL_ICAL_morgen { http="<[http://NAS/Abfuhrtermine_2022.ics:360000:JS(abfall_morgen.js)]" }
Switch 		ABFALL_AKTIV_morgen
String 		ABFALL_NAME_morgen

// Nächste Abholung
String ABF1_NAME { http="<[http://NAS/Abfuhrtermine_2022.ics:360000:JS(abfall_naechste_abholung_name.js)]" }
DateTime ABF1_DATE { http="<[http://NAS/Abfuhrtermine_2022.ics:360000:JS(abfall_naechste_abholung_datum.js)]" }
sitemap

Code: Alles auswählen

Frame label="Abfallkalender" {
      	 		Text item=ABFALL_NAME_heute label="Abholung heute: [%s]" icon="muellwagen" visibility=[ABFALL_AKTIV_heute==ON]
        		Text item=ABFALL_NAME_morgen label="Abholung morgen: [%s]" icon="muellwagen" visibility=[ABFALL_AKTIV_morgen==ON]
        		Text item=ABF1_DATE label="Nächster Abholtermin:[%1$td.%1$tm.%1$tY]" icon="calendar" 
        		Text item=ABF1_NAME label="Was? [%s]" icon="abfall"    
        	}
sowie den transform im Anhang.

Ich weiß das es bezüglich des HTTP-Binding und der transform wegen den Datumsberechnungen Anpassungen geben muss, aber ich kriege es leider nicht an.
Und die fertigen Dinge die ich gefunden habe, entsprechen nicht meinen Vorstellungen. Soll am Ende in der Basic UI laufen.

Kann mir einer helfen?

Re: Abfallkalender migrieren von OH 2 > OH 3

Verfasst: 17. Jul 2022 17:02
von udo1toni
Das sollte 1:1 abzubilden sein.

Zugriff auf die Daten erfolgt über einen http Channel:

Code: Alles auswählen

Thing http:url:abfall "Abfallkalender" [
    baseURL="http://NAS/Abfuhrtermine_2022.ics",
    refresh=360] {
        Channels:
            Type string : ics "ICS"
}
Du kannst das Thing natürlich auch über die UI anlegen.

Items:

Code: Alles auswählen

//Abfall heute
String ABFALL_ICAL_heute  { channel="http:url:abfall:ics"[profile="transform:JS", function="abfall_heute.js"] }
Switch ABFALL_AKTIV_heute
String ABFALL_NAME_heute

//Abfall morgen
String ABFALL_ICAL_morgen { channel="http:url:abfall:ics"[profile="transform:JS", function="abfall_morgen.js"] }
Switch ABFALL_AKTIV_morgen
String ABFALL_NAME_morgen

// Nächste Abholung
String ABF1_NAME          { channel="http:url:abfall:ics"[profile="transform:JS", function="abfall_naechste_abholung_name.js"] }
DateTime ABF1_DATE        { channel="http:url:abfall:ics"[profile="transform:JS", function="abfall_naechste_abholung_datum.js"] }
Alternativ kannst Du auch für jedes Item einen eignen Channel definieren und die Transformation direkt dort vornehmen.
Kennst Du das iCal Binding? das sollte ebenfalls den Zugriff auf den Kalender ermöglichen (Du bietest den Download ja über http an), nur ohne eigene JavaScript Scripte...

Re: Abfallkalender migrieren von OH 2 > OH 3

Verfasst: 17. Jul 2022 20:04
von technick90
Vielen Dank! Ich glaube ich weiß woran ich zuvor gescheitert bin.
Das neue OH3 läuft derzeit als Docker auf meinem NAS. Und es konnte schlicht und ergreifend die Datei nicht herunterladen.

Wird also Zeit für den Wechsel auf den RPi.

Mit deinen Anpassungen läuft alles. :D

Ja, das ICal Binding kenne ich, darauf beziehen sich auch alle Anleitungen die man für OH3 findet.
Aber meistens nicht mehr mit der Basic UI, wegen Smartphone App möchte ich die aber weiter nutzen.

Re: Abfallkalender migrieren von OH 2 > OH 3

Verfasst: 17. Jul 2022 21:14
von udo1toni
Das spielt keine Rolle... Basic UI nutzt genauso die Items wie sie von HABpanel oder Main UI verwendet werden.

Re: Abfallkalender migrieren von OH 2 > OH 3

Verfasst: 18. Jul 2022 21:24
von tim.l
Hallo zusammen,

Ich bin gerade dabei eine API zu bauen (ähnlich Tankerkönig), welche Abfallkalendar online aggrigiert und über eine einheitliche API kostenlos (via fair use) für u.a. Smart Home Betreiber zur Verfügung stellt. Dann braucht man sich nicht mit ICS rumschlagen. Bin noch auf der Suche nach ersten Testern. Wenn Interesse gerne eine PM an mich, dann schicke ich weitere Infos zu dem Projekt. Sobald es vollständig online ist, dann werde ich hier auch nochmals schreiben.

Beste Grüße,
Tim