ioBroker Forum


Nutzungsbedingungen |Datenschutzrichtlinie
Cloud |Dokumentation
Aktuelle Zeit: 21.01.2018, 13:32

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 72 Beiträge ]  Gehe zu Seite Vorherige 1 2 3 4
Autor Nachricht
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 22.05.2016, 18:05 
Online
guru
Benutzeravatar

Registriert: 08.08.2014, 16:50
Beiträge: 10004
Hat sich bedankt: 112 Mal
Danksagung erhalten: 591 Mal
...und doch!
wie bereits auf dem HM-Treffen diskutiert lügt der Adapter doch! :mrgreen:
Dateianhang:
Pollen_Warnung_final.jpg
Pollen_Warnung_final.jpg [ 24.25 KiB | 437 mal betrachtet ]


Oder werden hier nur die noch zu wartenden ganze Tage gezählt?
Also Mo, Di. Mi. (=3) und dann ist Feiertag???
ich hätte hier eine 4 erwartet

Gruß
Rainer

_________________
kein Support per PN!
Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 21.12.2017, 23:41 
Offline
professional

Registriert: 22.02.2017, 16:31
Beiträge: 624
Wohnort: Rathenow
Hat sich bedankt: 29 Mal
Danksagung erhalten: 37 Mal
Der Adapter läuft bei mir jetzt schon ne ganze Weile recht problemlos! :D
Dieses Jahr ist ja, der nicht so oft, aber doch immer wieder auftretende Fall, dass der 4.Advent und Heiligabend auf einen Tag fallen. Ist es möglich das in einem Adapter abzubilden (ich habe die Möglickeit der zweiten Instanz probiert, das würde notfalls auch gehen!)? Momentan wird mir als nächster Feiertag ja nur der 4. Advent angezeigt, aber eben nicht Heiligabend. :? Ich weiß, das sind "Luxusprobleme"! :roll:

Enrico


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 22.12.2017, 22:38 
Offline
guru

Registriert: 04.11.2014, 17:49
Beiträge: 2450
Hat sich bedankt: 146 Mal
Danksagung erhalten: 267 Mal
Hallo,

hast recht, ist ein Luxusproblem. Oder vielleicht doch nicht? Denn der 4. Advent ist - wie immer - ein Sonntag und deshalb eigentlich nicht unbedingt im Adapter als Feiertag zu markieren. Wer das doch tut, muss damit rechnen, andere Feiertage zu übersteuern.
Falls jemand jetzt sagt, der 4. Advent ist aber doch ein Feiertag, dann argumentiere ich einfach andersherum: Heilig Abend ist keiner! :lol:

Pix

_________________
Mac mini (OS X 10.12.6, node v6.12.2, npm v4.6.1), Redis, InfluxDB, VIS via iOS; gesteuerte Systeme: Homematic CCU2, Homepilot, Roomba, Sonos, XEOMA auf Odroid XU4; Adapter: feiertage, tvspielfilm, rtv, solarwetter, tankerkoenig, homepilot, epson_stylus_px830


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 22.12.2017, 23:37 
Offline
professional

Registriert: 22.02.2017, 16:31
Beiträge: 624
Wohnort: Rathenow
Hat sich bedankt: 29 Mal
Danksagung erhalten: 37 Mal
...man da hatte ich mir aber eine konstruktivere Antwort gewünscht! :lol:

Mit den Feiertagen hast du natürlich Recht, aber wenn ich davon ausgehe, dass du auch die Tage ausgesucht hast, die als "Feiertage" angezeigt werden können, hättest du ja auch schon mal drauf stoßen können, dass solch ein "Problem" entstehen kann! :D
Nee. wie gesagt, ich werde mir da was mit einer zweiten Instanz basteln, damit mir unter dem Datum auch beide "Feiertage" angezeigt werden. Hätte aber eben auch sein können, dass dir sofort ne Lösung dafür eingefallen wäre.

In diesem Sinne: Einen schönen 4.Advent und schöne Weihnachten! :D

Enrico


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 23.12.2017, 01:03 
Offline
guru

Registriert: 04.11.2014, 17:49
Beiträge: 2450
Hat sich bedankt: 146 Mal
Danksagung erhalten: 267 Mal
Hallo Enrico,

der Adapter ist mittlerweile eine Gemeinschaftsproduktion mehrerer Entwickler. Zuletzt wurden auch regionale Feiertage und besondere Tage aufgenommen.
Kannst du mir kurz deine Anwendung beschreiben? Reicht es, die Tage kommasepariert im Objekt zu speichern? Das sollte sich machen lassen. Weiß aber nicht, ob ich das morgen hinbekomme. Danach wird das Testen schwierig...

Pix

_________________
Mac mini (OS X 10.12.6, node v6.12.2, npm v4.6.1), Redis, InfluxDB, VIS via iOS; gesteuerte Systeme: Homematic CCU2, Homepilot, Roomba, Sonos, XEOMA auf Odroid XU4; Adapter: feiertage, tvspielfilm, rtv, solarwetter, tankerkoenig, homepilot, epson_stylus_px830


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 23.12.2017, 10:07 
Offline
professional

Registriert: 22.02.2017, 16:31
Beiträge: 624
Wohnort: Rathenow
Hat sich bedankt: 29 Mal
Danksagung erhalten: 37 Mal
Hallo,

mir persönlich würde es reichen, wenn die Tage, mit Komma getrennt, als Wert erscheinen. Wie schon geschrieben, habe ich auf meinem Wandtablet unter der Datums- und Uhrzeitanzeige ein Feld, dass nur erscheint, wenn ein besonderer Tag ist. Diese besonderen Tage kommen eben aus dem Feiertage-Adapter. :)
Das mit dem Testen ist so ne Sache, aber wie gesagt das wäre ja auch mit zwei Feiertage-Instanzen machbar, dann würde ich den Heiligabend nur in der zweiten Instanz abfragen und das dann gemeinsam anzeigen lassen. Der andere Test wäre ja erst wieder in ein paar Jahren möglich, vielleicht habe ich bis dahin das "Problem" schon wieder vergessen! :lol:

Enrico


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 12.01.2018, 20:05 
Offline
starter

Registriert: 10.08.2016, 07:53
Beiträge: 71
Hat sich bedankt: 8 Mal
Hallo,

ich habe heute mal den Adapter installiert. Vielen Dank für den tollen Adapter.

Ist es normal das alle Variablen (oder wie nennt man die?) nun zweimal da sind einmal auf deutsch und einmal auf englisch?

Ich habe also jetzt einen Feiertag heute und einen Holiday today oder Naechster Feiertag - Dauer bis dahin und Duration till next holiday

Beide werden jeweils auf den ersten Blick richtig gefüllt. (Leider noch 77 Tage bis zum nächsten Feiertag)


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 12.01.2018, 22:40 
Offline
professional

Registriert: 22.02.2017, 16:31
Beiträge: 624
Wohnort: Rathenow
Hat sich bedankt: 29 Mal
Danksagung erhalten: 37 Mal
Is bei mir auch so, soll wohl auch.

Enrico


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 15.01.2018, 22:45 
Offline
starter

Registriert: 09.05.2017, 12:57
Beiträge: 23
Hat sich bedankt: 2 Mal
wäre es möglich aufgrund dieser Webseite den "Feiertage" Kalender zu erweitern?
:-) glaub dann kann man den Adapter auch umbenennen :-)

https://www.schulferien.org/deutschland/ical/
https://www.schulferien.org/oesterreich/ical/
https://www.schulferien.org/schweiz/ical/

Die Kalender die zu den Bundesländern angeboten werden haben immer das gleiche downloadformat.
ID-->Bundesland

So bekommen alle (auch die Schweiz oder Österreich z.B) die Feiertage und Schulferien mit ;)

Verhält sich auch so zu den Schulferien ;)


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 16.01.2018, 10:16 
Offline
guru
Benutzeravatar

Registriert: 10.04.2015, 12:27
Beiträge: 3056
Hat sich bedankt: 270 Mal
Danksagung erhalten: 278 Mal
Was meinst Du mit "erweitern"?

Lade einmal im Jahr dort das ical/ics File runter, lege es auf dem ioBroker-Rechner als File ab und gib den Pfad der Datei im Adapter an. Dann wird es eingelesen


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 16.01.2018, 10:49 
Offline
starter

Registriert: 09.05.2017, 12:57
Beiträge: 23
Hat sich bedankt: 2 Mal
War ein Beispiel, da ich hier schon viel gelesen habe von anderen Usern.
Wegen Bundesland usw.....

Deshalb diese Homepage, da sind alle Kalender gleich aufgebaut zum einbinden in eine App (zum downloaden)
Um viel mehr ging es hier eigentlich nicht ;)


Nach oben
   
 Betreff des Beitrags: Re: Feiertage Adapter
BeitragVerfasst: 21.01.2018, 10:23 
Offline
starter

Registriert: 10.08.2016, 07:53
Beiträge: 71
Hat sich bedankt: 8 Mal
pix hat geschrieben:

Ich werd mal was basteln.

Gruß
Pix

Edit 28.04.2016: Hier die editierte Version mit Prüfung, ob KW gerade/ungerade und Ausgabe der Wochentags als Zahl (Mo = 1 bis So = 7)
Spoiler: Show hidden text
Code:
/* System Datum

Skript erzeugt Variablen für Datum, Tag, Monat, Jahr, KW, Quartal

erstellt: 25.02.2016 von pix
28.04.2016 Prüft ob KW gerade oder ungerade
           Wochentag als Zahl (deutsches System: Mo = 1, So = 7)
*/

createState('Kalender.Datum.Tag', {
    name: 'Kalender - aktueller Tag',
    type: 'number'
});
createState('Kalender.Datum.Monat', {
    name: 'Kalender - aktueller Monat',
    type: 'number'
});
createState('Kalender.Datum.Monatsname', {
    name: 'Kalender - aktueller Monatsname',
    type: 'string'
});
createState('Kalender.Datum.Jahr', {
    name: 'Kalender - aktuelles Jahr',
    type: 'number'
});
createState('Kalender.Datum.Kalenderwoche', {
    name: 'Kalender - aktuelle Kalenderwoche',
    type: 'number'
});
createState('Kalender.Datum.Kalenderwoche_Typ', {
    name: 'Kalender - aktuelle Kalenderwoche ist gerade (true) oder ungerade (false)',
    desc: 'Ist die KW gerade?',
    type: 'boolean'
});
createState('Kalender.Datum.Wochentag', {
    name: 'Kalender - aktueller Wochentag',
    type: 'string'
});
createState('Kalender.Datum.Wochentag_Zahl', {
    name: 'Kalender - aktueller Wochentag als Zahl (Mo = 1, So = 7)',
    type: 'number'
});

createState('Kalender.Datum.Quartal', {
    name: 'Kalender - aktuelles Quartal',
    type: 'number'
});


var idTag =        'Kalender.Datum.Tag',
    idWochentag =  'Kalender.Datum.Wochentag',
    idWochentagZahl =  'Kalender.Datum.Wochentag_Zahl',
    idMonat =      'Kalender.Datum.Monat',
    idMonatsname = 'Kalender.Datum.Monatsname',
    idJahr =       'Kalender.Datum.Jahr',
    idKW =         'Kalender.Datum.Kalenderwoche',
    idKWtyp =      'Kalender.Datum.Kalenderwoche_Typ',
    idQuartal =    'Kalender.Datum.Quartal';
   

function leseDatum () {
    var jetzt = new Date();
    setState(idTag, zeit(jetzt).Tag);
    setState(idMonat, zeit(jetzt).Monat);
    var monatsname = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
    setState(idMonatsname, monatsname[parseInt(zeit(jetzt).Monat)-1]);
    setState(idJahr, zeit(jetzt).Jahr);
    var kw = ermittleKW();
    setState(idKW, kw);
    var kwtyp = (kw % 2 === 0) ? true : false;
    setState(idKWtyp, kwtyp);
    var tagderwoche = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];
    setState(idWochentag, tagderwoche[zeit(jetzt).Wochentag]);
    var wochentagzahl = (zeit(jetzt).Wochentag > 0) ? zeit(jetzt).Wochentag : 7 ; // Wenn Tag nicht 0, dann Tag sonst 7
    setState(idWochentagZahl, wochentagzahl);
    var quartal = ermittleQuartal(jetzt);
    setState(idQuartal, quartal);
    log('Kalenderinformation zum heutigen Datum angelegt', 'debug');
}   

function zeit (time) {
    // log(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
    jetzt = new Date(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
    var jahr       = jetzt.getFullYear();
    var monat      = (jetzt.getMonth()+1 < 10) ? '0' + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
    var tag        = (jetzt.getDate() < 10) ? '0' + jetzt.getDate() : jetzt.getDate();
    var wochentag  = jetzt.getDay(); // startet am Sonntag mit 0
    var stunde     = (jetzt.getHours() < 10) ? '0' + jetzt.getHours() : jetzt.getHours();
    var minute     = (jetzt.getMinutes() < 10) ? '0' + jetzt.getMinutes() : jetzt.getMinutes();
    var sekunde    = (jetzt.getSeconds() < 10) ? '0' + jetzt.getSeconds() : jetzt.getSeconds();
    return {
        'Jahr'      : jahr,
        'Monat'     : monat,
        'Tag'       : tag,
        'Wochentag' : wochentag,
        'Stunde'    : stunde,
        'Minute'    : minute,
        'Sekunde'   : sekunde
    };
}

function ermittleQuartal(time) {
    var z = new Date (time);
    var y = parseInt(zeit(z).Monat,10);
    var q = 0;
    switch (y) {
        case 0:
        case 1:
        case 2:
            q = 1;
            break;
        case 3:
        case 4:
        case 5:
            q = 2;
            break;
        case 6:
        case 7:
        case 8:
            q = 3;
            break;
        case 9:
        case 10:
        case 11:
            q = 4;
            break;
        default:
            q = 0;
            break;
    }
    return(q);
}

function ermittleKW() { // http://www.web-toolbox.net/webtoolbox/datum/code-kalenderwocheaktuell.htm
    var KWDatum = new Date();
    var DonnerstagDat = new Date(KWDatum.getTime() + (3-((KWDatum.getDay()+6) % 7)) * 86400000);
    var KWJahr = DonnerstagDat.getFullYear();
    var DonnerstagKW = new Date(new Date(KWJahr,0,4).getTime() + (3-((new Date(KWJahr,0,4).getDay()+6) % 7)) * 86400000);
    var KW = Math.floor(1.5 + (DonnerstagDat.getTime() - DonnerstagKW.getTime()) / 86400000/7);
    var kalenderwoche = (parseInt(KW,10) < 10) ? '0' + KW : KW;
    return(kalenderwoche); // wird als String übergeben, aber im Objekt als Zahl (ohne 0) gespeichert
}


leseDatum();
schedule("0 0,12,18 * * *", leseDatum); // Mitternacht und zwei Backups



Ich habe gerade mal das Script von der ersten Seiten bei mir eingefügt welches das Datum auseinandernimmt und dieses in Felder aufteilt.

Beim ausführen kriege ich folgende Meldungen:

Code:
0:12:42.038   [info]   javascript.0 Stop script script.js.Systemvariablen.Kalender
10:12:42.127   [info]   javascript.0 Start javascript script.js.Systemvariablen.Kalender
10:12:42.132   [warn]   javascript.0 at leseDatum (script.js.Systemvariablen.Kalender:64:5)
10:12:42.134   [warn]   javascript.0 at script.js.Systemvariablen.Kalender:145:1
10:12:42.138   [warn]   javascript.0 at leseDatum (script.js.Systemvariablen.Kalender:69:5)
10:12:42.140   [warn]   javascript.0 at script.js.Systemvariablen.Kalender:145:1
10:12:42.142   [info]   javascript.0 script.js.Systemvariablen.Kalender: registered 0 subscriptions and 1 schedule


Die Felder sind alle richtig gefüllt. Kann ich das ignorieren?


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 72 Beiträge ]  Gehe zu Seite Vorherige 1 2 3 4

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu Forum:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de