Problem bei Einrichten des Kalenderskripts

Begonnen von schonwiederich, 06 Dezember 2018, 19:11:28

Vorheriges Thema - Nächstes Thema

schonwiederich

Hallo Baden Power,

hier die Hilfe die ich benötige :-)

Danke vorab.
...

ich versuche gerade zu verstehen wie ich deine Lösung umgesetzt bekomme und habe mal einen Testlauf gemacht.

Als erstes habe ich die Frage:
string hS1="D-NW";
string hS2="keine Auswahl";
string hS3="nicht benannt";
string lScriptName="Kalendertag-Berechnung Version 2.0.5";
string lON1="";
Was wird hier eingestellt? Habe ich das D-NW dort richtig eingetragen für NRW?
Was machen die anderen Werte dort oben ?

Dann habe ich eine Variabel angelegt:
SYS-Feiertag-TermineZusatz
Beschreibung Geburtstage
Werteliste
05.12.=Sascha;06.12.=Peter
((Zwischenfrage (ich schäme mich) mir ist klar das ich bei Werteliste die Variable entsprechend so fülle. Aber wie bitte soll diese als Zeichenkette gefüllt werden. Manuell doch nicht oder ? Wenn durch andere Programme oder Scripte..... oder?))

Dann habe ich die Variablen angelegt:
IST-Feiertag-Heute-Name Ergebnis Sascha
IST-Feiertag-Morgen-Name Ergebnis Peter
IST-Feiertag-Übermorgen-Name Ergebnis " "

So weit ok. Aber warum wird mir in der VAriable IST-Feiertag-Morgen-Name nur Peter angezeigt und nicht auch Nikolaus (06.12)
Wird immer nur ein Wert angezeigt? Wenn ja, welcher wird dann priorisiert?
Oder habe ich für Nikolas die falsche Variable Erwischt? Ich dachte der wird unter Feiertage ausgegeben?

Da ich mich mit scripten nicht so auskenne noch eine Frage dazu.
Wie genau ist das gemeint wenn man erreichen möchte das Bestimmte Berechnungen garnicht stattfinden weil man z.b keine Ferien will oder Ähnliches, was muß man da am Script verändern. (Dann liefe es auch schneller durch, vermute ich...)

In deiner Anleitung sprichst Du öfter von Listen... welche Listen sind da gemeint.
Auch wenn man sich nur "wenige" Variablen anzeigen lassen möchte (und daher auch nur wenige anlegt) ist es dennoch möglich die errechneten Ergebnisse des Scriptes auf andere Art ausgeben zu lassen...... als Text / Word / Excel egal was :-)

1000 Dank für die Antworten auf meine "komischen" Fragen.

VG schonwiederich
------------------------------------------------


kleiner NAchtrag:

habe heute: IST-Brauchtum-Heute-Name und
IST-Festtag-Heute-Name
angelegt. In der Hoffnung da purzelt der Nikolaus raus.

Skript laufenlassen. Ergbnis:
Die Feiertagswerte von gestern wo ich probehalber mal eigene Feiertage eingegeben habe werden vom Skript aktualsisert. (Letzte Änderung passt sich an)
Die beiden heute angelegten Variablen passen sich vom (Letzte Änderung Datum) her nicht an und haben als Inhalt ???

Was mache ich denn da falsch?
Beide Variablen sind Zeichenketten

... (und was unterschiedet das tmp Skript vom "eigentlichen" Skript?)

Danke Dir

BadenPower

Hallo schonwiederich,

oder ist die Anrede schonwiederDu dann richtig?  ;D

Spass beiseite und an die Arbeit.

Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
Als erstes habe ich die Frage:
string hS1="D-NW";
string hS2="keine Auswahl";
string hS3="nicht benannt";
string lScriptName="Kalendertag-Berechnung Version 2.0.5";
string lON1="";
Was wird hier eingestellt? Habe ich das D-NW dort richtig eingetragen für NRW?
Was machen die anderen Werte dort oben ?
Eigentlich ist es nicht notwendig im Skript selbst Einstellungen zu machen, da diese bei einem Update des Skritpes immer geändert werden müßten.

Um Dein Land/Bundesland auszuwählen, ist vorgesehen, dass man dafür eine Skriptvariable anlegen kann.
Siehe Anleitung:
"SYS-Landeskennung" > Pos. 1 / Typ = Zeichenkette oder Werteliste

In Deinem Fall würde ich eine Werteliste ,mit dem Inhalt:
D-NW
anlegen.

Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
((Zwischenfrage (ich schäme mich) mir ist klar das ich bei Werteliste die Variable entsprechend so fülle. Aber wie bitte soll diese als Zeichenkette gefüllt werden. Manuell doch nicht oder ? Wenn durch andere Programme oder Scripte..... oder?))

Über die WebUI ist es nicht möglich eine Zeichenkette direkt mit Werten zu belegen.
Manche Apps können Zeichenketten ändern, aber keine Wertelisten.

Um Beides zu vereinen habe ich mich entschlossen, beide Varianten zu unterstützen. So kann der User "seine" benötigten Variabletypen verwenden und das Skript erkennt dies automatisch.
Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
... (und was unterschiedet das tmp Skript vom "eigentlichen" Skript?)

Die Umwandlung von Sktipten in tmp-Skripte beruht noch auf Zeiten, in denen es nur möglich war, dass 200 Skriptvariablen deklariert werden konnten. Durch die vielzahl eingesetzter Skripte (und jeder Entwickler hat seinen eigenen Variablenamen) war diese Grenze schnell erreicht.
Daher gab es einige User, die die Skripte in ein einheitliches "Namen-Format" umgewandelt haben, damit in allen Skripten die Skriptvariable-Namen gleich waren. Die Namen begannen alle dann mit "tmp" gefolgt von 1 oder 2 Zeichen.

Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
Da ich mich mit scripten nicht so auskenne noch eine Frage dazu.
Wie genau ist das gemeint wenn man erreichen möchte das Bestimmte Berechnungen garnicht stattfinden weil man z.b keine Ferien will oder Ähnliches, was muß man da am Script verändern. (Dann liefe es auch schneller durch, vermute ich...)

Dazu mußt Du selbst gar nicht tun.
Alle Dinge, zu denen es keine angelegte Ausgabevariable auf der CCU gibt, werden einfach nicht abgearbeitet.

Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
Dann habe ich eine Variabel angelegt:
SYS-Feiertag-TermineZusatz
Beschreibung Geburtstage
Werteliste
05.12.=Sascha;06.12.=Peter

Willst Du wirklich, dass Deine Geburtstage als Feiertage ausgegeben werden?
Wenn ja, warum?

Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
In deiner Anleitung sprichst Du öfter von Listen... welche Listen sind da gemeint.
Eben die Feiertagsliste, welche automatisch anhand der Landeskennung gefüllt wird und dann die zusätzlichen Listen "Festtage", Brauchtum" und "XTage", welche man dann komplett selbst per Systemvariable definieren kann.

Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
So weit ok. Aber warum wird mir in der VAriable IST-Feiertag-Morgen-Name nur Peter angezeigt und nicht auch Nikolaus (06.12)
Wird immer nur ein Wert angezeigt? Wenn ja, welcher wird dann priorisiert?
Es wird immer nur ein Name der jeweiligen Liste ausgegeben.

In IST-Feiertag-Heute-Name steht dann normalerweise der Name des Feiertages, so wie er im entsprechenden Land/Bundesland offiziell heißt.
Dies wäre am 06.01. in Baden-Würrtenberg zum Beispiel "Erscheinungsfest" In anderen Bundesländern wird automatiach "Heilige Drei Könige" angezeigt.
Legst Du allerdings in "SYS-Feiertag-TermineZusatz"
06.01.=Heilige Drei Könige
an, dann wird auch "Heilige Drei Könige" angezeigt.

Ein überschriebener Name hat immer Priorität.

Zitat von: schonwiederich am 06 Dezember 2018, 19:11:28
Oder habe ich für Nikolas die falsche Variable Erwischt? Ich dachte der wird unter Feiertage ausgegeben?
So, und nun sind wir wieder bei den Listen.

Nikolaus ist dem Skript bekannt und zwar mit dem Datum 06.12., ist aber keiner Liste zugeordnet, da ja kein Feiertag.
Nikolaus ist eher ein Brauchtumstag und kann dann in die Systemvariable für die Liste der Termine der Brauchtumstage hinzugefügt werden.
Da der Nikloaus dem Skript bekannt ist, kannst Du in der Liste eben "Nikolaus", "Nikolaustag" oder "06.12." schreiben. Nimmst Du den Namen, dann wird auch direkt der Name in den Namens-Systemvariablen z.B. "IST-Feiertag-Morgen-Name" angezeigt. Hast Du "06.12." geschrieben, dann lautet der Name "Nikolaus", denn es wird immer der 1. Name zu einem Datum ausgegeben (siehe Anleitung Rubrik "Alle im Skript eingepflegten Kalendertage")
Würdest Du dann "05.12.=Sascha;06.12.=Peter" setzen, dann gibt er eben Peter aus.

Und da "Peter" bestimmt am 06.12. Geburtstag hat würde ich hierfür die Liste "XTage" verwenden, da ein Geburtstag ja auch kein Feiertag ist. Und nicht jeder hat ja am Geburtstag frei, wie üblicherweise an einem Feiertag. Somit unterscheiden sich ja die Aufgaben der CCU dann.


Beschreibe einmal was Du mit den einzelnen "Tagen" denn vorhast und dann machen wir weiter.


viele Grüße
BadenPower
.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

schonwiederich

Danke erstmal. Das ich den Geburtstag als Feritag drin hatte war erstmal ein Test ob und wie das Skript bei mir funktioniert.
Geburtstage würden dann natürlich bei Festtage oder XTage landen. Es ist ja ein Festtag (normalerweise).

Bei den Listen steig eich noch nicht ganz durch. Das heisst ausschließlich die Liste für die Feritage sind auf das Bundesland (und Land) gemappt und werden auch entsprechend in den VAriablen angezeigt. Brauchtumstage, Festtage sind zwar als "Werte" dem Skript bekannt aber wenn man "haben" möchte muss man sich diese in die jeweilige SYS.-Variable eintragen?!

Was ich vor habe :-) gute Frage.
Erstmal habe ich folgendes im EInsatz:
Raspberrymatic.
Mediola Visulaisierung und Gateway und Server und Automation Manager
Ein Synology Nas

Jetzt bin ich auf der Suche nach der für mich besten Lösung für Kalenderdaten.
Ich habe direkt mehrere Anforderungen je nach Umsetzungmöglcihkeit wird die ein oder andere aber sterben.

1. Ich will meine aktuelle Lösung zur Müllbenachrichtiung ablösen. Heute läuft eine Müll App die für meine Straße die Abfuhrtermine als Nachricht auf dem Smarthometablet ausgibt. TASKER überwacht diese nachricht und schickt bei erhalt eine XML NAchricht an die CCU damit in der Küche die LED Beleuchtung in der Farbe angeht in der der Müll rausgestellt werden muss.
Funktioniert nach einigem basteln ganz gut. Ich versuche jedoch das ganze Hausautomationsthema auf so wenig Beteilgten Komponenten wie möglich laufen zu lassen. Deswegen und weil ich die TASKER Werte auch erst wieder an die CCU übergeben müsste um diese nutzbar zu machen, will ich das ablösen.

2. Habe ich bereits Visulaisierungen gesehen die zeigen: GelbeTonne in 2 Tagen.  Grüne Tonne heute   etc. Ich denke das würde mit deinem Skript gut gehen.

3. Soetwas wie die Nächste Ereignisse angezeigt zu bekommen, wei es dein Skript macht wird auch sicher Hilfreich.

4. Zudem habe ich meine Rollosteuerung noch nicht Automatisiert. Diese könnte ich dann nach WE und Feiertag anders steuern als Werktags etc.

5. Dann wiederum möchte wäre es natürlich toll wenn man einen Kalender in der Visualisierung anzeigen könnte und noch besser , ihn sogar nutzen.
Da probiere ich gerade mit der APP Calendar auf meinem Synology rum, aber in Mediola wird der Kalender obwohl er freigegeben ist nicht angezeigt. Grübel.
Alles im LAN also nicht übers Internet.

6. Ebenso würde ich dann gerne Erinnerungen vor bestimmten Ereignissen bekommen.

usw usw.

VG Schonwiederich






BadenPower

Zitat von: schonwiederich am 06 Dezember 2018, 21:06:27
Bei den Listen steig eich noch nicht ganz durch. Das heisst ausschließlich die Liste für die Feritage sind auf das Bundesland (und Land) gemappt und werden auch entsprechend in den VAriablen angezeigt.
Ja, die Liste der Feiertage wird Anhand der Landeskennung automatisch erstellt und kann durch die Systemvariablen "SYS-Feiertag-TermineZusatz" und "SYS-Feiertag-Entfernen" noch zusätzlich angepasst werden. Vielleicht gibt es ja wieder einmal einen bundesweiten zusätzlichen Feiertag, oder ein Bundesland schafft wieder einen ab.

Zitat von: schonwiederich am 06 Dezember 2018, 21:06:27
Brauchtumstage, Festtage sind zwar als "Werte" dem Skript bekannt aber wenn man "haben" möchte muss man sich diese in die jeweilige SYS.-Variable eintragen?!
Ja.
Für die drei zusätzlichen Listen stehen die drei Systemvariablen "SYS-Festtag-Termine", SYS-Brauchtum-Termine und "SYS-XTag-Termine" zur Verfügung.

Macht ja auch Sinn, denn was möchte denn ein Moslem mit der Ausgabe, dass übermorgen Palmsonntag ist?

Da die Dati und Namen gebräuchlicher Tage hinterlegt sind, ist es einfach diese Listen in der Systemvariable zu konfigurieren.
Wenn Du
AD;AD+7;AD+14;AD+21,24.12.
in die Brauchtunstage hinterlegst, dann hast Du schon die Adventszeit abgedeckt.

Zitat von: schonwiederich am 06 Dezember 2018, 21:06:27
GelbeTonne in 2 Tagen.  Grüne Tonne heute   etc. Ich denke das würde mit deinem Skript gut gehen.
Ja das geht für meinen Geschack sogar sehr gut, denn es stahen ja insgesamt 10 Müllsorten zur verfügung und jeweils mit den Ausgaben:

"IST-Abfall-???-Heute"
"IST-Abfall-???-Morgen"
"IST-Abfall-???-Tage"
"IST-Abfall-???-Datum"


Falls Du konkrete Einsatzbeispiele hast, bei denen Fragen auftauchen; oder einfach nur Verständnisprobleme, oder einen Hinweis, ob ein Gedankengang von Dir mit dem Skript lösbar wäre, dann immer her mit den Fragen.


viele Grüße
BadenPower
.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

schonwiederich

schau mal an....  kaum hat mans grob verstanden klappts auch. Nikolaus wird angezeigt. Sondertag auch etc....
Ich habe nun eine konkrete Frage zu einem Anwendungsfall.

Ziel wäre es die SYS-xxx Variablen "komfortabel" zu befüllen / zu aktualisieren.

Wir stellen uns vor meine Frau will am Wandtablet einen neuen Termin für sich oder einen gebuchten Urlaub oder Schulferien eintragen.
Ich brauch ihr dann nicht erklären wie man das auf der CCU in der Variable macht. DAS WIRD NIX !!! :-)

Ein Traum wäre ja wenn man in der Mediola Visualisierung oder einem Android tool (Android Tools kann ich aus der Mediola Visu heraus mit TASKER Network Event Server öffnen) einen paar knöpfe hat auf die man drückt ( 1 für Termin, 1 für Ferien usw) und dann irgendetwas aufpoppt wo man entwecker per Kalenderklick oder auch per Texteingabe  (wie in den Variablen Nötig) die Dati eingibt.

Das Tool (Mediola , Andorid oder welches auch immer dann möglich ist, oder auch ein Script auf der CCU welchem man die Werte dann aus der Mediola übergibt wenn das geht) sendet dann die Werte an die Variable und alles ist gut.

Ist sowas machbar ?

Danke und LG

BadenPower

Zitat von: schonwiederich am 07 Dezember 2018, 12:22:29
Ist sowas machbar ?

Da habe ich leider nur eine Windows-Anwendung, welche allerdings direkt speziell für mein System programmiert ist.

Realisierbar ist dies auch als reine Web-Anwendung. Dazu fehlt mir aber leider die Zeit.

Teile zum Einrichten meiner Skripte sollen irgendwann auch in den HM-Administrator integriert werden.


viele Grüße
BadenPower
.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

schwgu

Guten Abend,
nach einem Hinweis im HM Forum das es für das Kalenderscript eine neuere Version als die V2-0-5 gibt bin ich jetzt hier gelandet.
Wie und wo kann ich die bitte bekommen ?
Grundsätzlich bin ich ja mit der vorhandenen Version zufrieden
nur muss ich immer auch die Jahreszahl eingeben damit es funktioniert
und das ist bei den Zeitspannen mit Jahreswechsel nicht so praktisch
Es kann aber auch sein dass ich einen Fehler bei der Eingabe mache - den konnte aber noch keiner feststellen
Mal schauen ob sich in diesem Thema überhaupt noch jemand meldet da es doch schon etwas länger her ist wo was geschrieben wurde.
lg. schwgu


BadenPower

Hallo schwgu,

schicke mir einmal per PN Deine Mail-Adresse, dann kann ich Dir die 2.0.8 zusenden.

Die Zeitspannen sollten auch bei jahresübergreifenden Dati ohne Angabe der Jahrhundertzahl funktionieren

Poste hier einmal die Konfiguration der entsprechenden Zeitspannenvariablen als Screenshot.

Und vor allem auch die Werte der:
"SYS-Zeitspanne-??-Termine" > Pos. 368 / Typ = Zeichenkette oder Werteliste
Diese bitte per Copy&Paste hier in Codetags.


viele Grüße
BadenPower
.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

schwgu

hallo,
hier meine Eingaben - Einstellungen
die Weihnachtsbeleuchtung funktioniert mit diesen Eingaben nicht
der Rest schon
SYS-Zeitspanne-04-Termine Steckdose Fliegenkiller Werteliste 15.03.2019,31.10.2019
SYS-Zeitspanne-03-Termine SW Hühnerstahl Werteliste 19.09.18,10.04.19
SYS-Zeitspanne-02-Termine Weihnachtsbeleuchtung Werteliste 08.12.,07.01.
SYS-Zeitspanne-01-Termine Sommerstrom Werteliste 01.04.2019,30.10.2019
normalerweise funktioniert es bei mir nur mit vierstelliger Jahreszahl
beim SW Hühnerstall funktioniert es jetzt auch mit zweistelliger Jahreszahl
lg. schwgu

BadenPower

#9
Hallo schwgu,

ich habe das Scenario gerade einmal getestet und konnte (für Dich) leider keine Fehlfunktion des Skriptes nachvollziehen.

Ich habe auf meiner Test-CCU Deine Angaben getestet und auch das Datum mehrfach geändert.
Alle Tests ergaben, dass die Systemvariablen korrekt befüllt werden. Siehe Screenshot im Anhang.

Allerdings habe ich die Tests mit der aktuellen 2.0.8 und nicht mit der 2.0.5 welche Du noch hast durchgeführt.
Auch die Einstellungen, welche Du gemacht hast sind richtig.


Daher wäre nun mein erster Gedanke, die 2.0.8 bei Dir zu installieren.
Falls dann noch Fehler auftauchen, dann müßten wir zusammen einmal Deine Systemkonfiguration der CCU checken, um sicherzustellen, dass Deine CCU richtig arbeitet und nicht in irgendeiner Weise korrupte Daten enthält.


viele Grüße
BadenPower
.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

schwgu

danke für die neue Version,
momentan läuft es mit der alten Version auch fehlerfrei.
Vorher hab ich es oft und auch mit unterschiedlichen Schreibweisen versucht --> kein Erfolg
Dann hab ich einen letzten Versuch gewagt --> funktioniert
Ev. war auch ein CCU Neustart zum passenden Zeitpunkt der Weg zum Erfolg.
Was ist in der neuen Version dazu gekommen ? lohnst es sich dass ich umstelle ?
lg. Schwgu


BadenPower

Hallo Schwgu,

Du solltest auf alle Fälle die neue Version nehmen.

Es sind neue (für einige deutsche Bundesländer) Feiertage hinzugekommen.
Wichter ist aber die Beseitigung eines Fehlers bei der Berechnung des 29. Februars bei Angabe ohne Jahreszahl und die Anpassung der Berechnung von Zeitspannen und Anzahl der Tage bis zu einem Zeitpunkt, welcher bei Überschreitung nur einer Sommerzeit/Winterzeitunstellung durch Änderungen in neueren ReGaHss-Versionen nicht mehr gestimmt hat.

.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

Bladerunner

Hallo,

ich habe noch das 2.0.5 Script aus einem anderen Forum. Leider kann ich die aktuelle Version (angeblich 2.0.9) hier im Forum nicht finden. Suche hat mich immer zu diesem Betrag gebracht und auch von BadenPower wurde mir kein Thread angezeigt der dazu passen würde.

BadenPower

Hallo Bladerunner,

aktuell ist die Version 2.0.9.

Die Versionen ab, 2.0.6 gibt es auch nicht mehr öffentlich zum Download, da einige Moderatoren des Homematic-Forums der Meinung waren, mich sperren zu müssen und somit alle Nutzer dort bestraft haben.

Daher gibt es alles, was ich für die Homematic-Nutzer mache nur noch auf Anfrage per PN und mit Copyright, welches eine unerlaubte Verbreitung untersagt.

Wer etwas haben möchte, der schickt mir einfach eine PN mit seiner Mail-Adresse.

.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

TIE

Hallo BadenPower,
ich erhalte beim Ausführen des Skripts folgende Meldung.
user.debug script: Konfigurationsfehler in IST-Feiertag-Nächster-Name
Ich habe nochmal mit der Version 2-0-5 getestet. Auch hier kommt die Meldung.
Bdd
Thorsten

BadenPower

Hallo Thorsten,

hast Du eigene Feiertage hinterlegt?

Wenn ja, dann zeige einmal einen Screenshot der Einstellungen der entsprechenden Systemvariable oder poste die "Feiertagsliste" per Paste&Copy in CodeTags.

.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

TIE

Hallo BadenPower,

ich habe keine eigene Feiertage. Die Variable IST-Feiertag-Nächster-Name ist nicht angelegt.
Gruß
Thorsten
Bdd
Thorsten

TIE

Ich habe eben die Variable IST-Feiertag-Nächster-Name mal angelegt, aber keine Änderung.

Gruß
Thorsten
Bdd
Thorsten

BadenPower

Hallo Thosten,

ich konnte bislang kein Szenario herbeiführen, welches mir diesen Eintrag

Zitat von: TIE am 03 Februar 2021, 23:21:16
user.debug script: Konfigurationsfehler in IST-Feiertag-Nächster-Name

in das Meldungsprotokoll schreibt.

Diese Meldung ist keine Fehlermeldung, welcher die ReGaHss aufgrund eines Fehlers im Skript einträgt, sondern ein Eintrag, welches das Skript selbst dort hinterläßt, sobald es eine fehlerhafte Konfigurationsvariable aufdeckt, da das Skript die Konfigarationsvariablen auf Plausibilität und Korrektheit überprüft.

Kannst Du einen Screenshot Deiner Konfigurationsvariablen, also alles was mit dem Skript zusammenhängt und gleichzeitig mit "SYS_..." beginnt, posten?

.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

TIE

Hallo BadenPower,

ich hoffe, das sind die die du haben willst.
Die SYS-Weihnachtsbeleuchtung-Termine habe ich selbst definiert und in den Skript aufgenommen.
Die Meldung kommt aber auch in der Originalversion.

Bdd
Thorsten

BadenPower

Hallo Thosten,

perfekt und Danke für die Mithilfe.

Zitat von: TIE am 05 Februar 2021, 20:31:21
ich habe keine eigene Feiertage.

Das war wohl ein "Irrtum" Deinerseite, welcher aber nicht sehr offensichtlich ist.

Schau Dir einmal den 2. Deiner Screenshots an.
Dort kann man erkennen, dass die Systemvariablen "SYS-Feiertag-Entfernen" und "SYS-Feiertag-TermineZusatz" als Zeichenketten angelegt sind. Das Bild läßt die Vermutung zu, dass diese Zeichenketten leer sind.

Sind sie aber nicht, wie man auf dem 3. Screenshot erkennen kann. Sie enthalten beide den Wert "???" (3 Fragezeichen). was man auch beim Ausführen des folgenden Skriptes


WriteLine(dom.GetObject(ID_SYSTEM_VARIABLES).Get("SYS-Feiertag-Entfernen").Value());
WriteLine(dom.GetObject(ID_SYSTEM_VARIABLES).Get("SYS-Feiertag-TermineZusatz").Value());


als Ausgabe erhält.

Das Kalenderskript hat nun bemerkt, dass "???" (3 Fragezeichen) kein gültiges Datum ist und hat daher bemängelt, dass die Konfiguration ungültig ist.

Du hast meherere Möglichkeiten:
1. Löschen der nicht benötigten Systemvariablen.
2. Leeren der Konfigurationsvariablen per Skript oder App, so dass sie keinen ungültigen Wert enthalten
3. Ändern des Typs der beiden Konfigurationsvariablen von Zeichenkette auf Werteliste, dann kannst du die Einstellungen (leeren) auch in der WebUI vornehmen


.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.

TIE

Hallo BadenPower,

das wars. Ich hab die Variable geleert und es kommt keine Meldung mehr.
Besten Dank.

Gruß
Thorsten
Bdd
Thorsten

Svenibaer

Hallo BadenPower!

Ich benutze schon seite einer Zeit Dein KalenderScript V.2.0.5 auf meiner CCU3 und bin damit sehr zufrieden.
Allerdings ist mir nun mehrfach ein Problem / Fehler aufgefallen - höchstwahrscheinlich zwischenzeitlich bereits gefixt oder bei mir liegt was anderes im Argen:

Ostermontag:
IST-Feiertag-Heute           Berechnet Kalender-Skript      05.04.2021 00:01:01     ist wahr
IST-Feiertag-Heute-Name   Berechnet Kalender-Skript    05.04.2021 00:01:01    Ostermontag
IST-Werktag-Mo-Fr-Heute   Berechnet Kalender-Skript    05.04.2021 00:01:00    ist wahr
IST-Wochenende-Heute      Berechnet Kalender-Skript    05.04.2021 00:01:00    ist falsch

Pfingstmontag:
IST-Feiertag-Heute             Berechnet Kalender-Skript   24.05.2021 00:01:00   ist wahr
IST-Feiertag-Heute-Name   Berechnet Kalender-Skript   24.05.2021 00:01:00   Pfingstmontag
IST-Urlaub-01-Heute           Berechnet Kalender-Skript   24.05.2021 00:01:00   ist wahr
IST-Werktag-Mo-Fr-Heute   Berechnet Kalender-Skript   24.05.2021 00:01:00   ist wahr


Also obwohl Feiertag (Ostermontag, Pfingsmontag) ist, ist IST-Werktag-Mo-Fr-Heute wahr...
Gibt's ggf. einen neuen Stand des Scripts bzw. hast Du eine Idee was hier falsch läuft? Ich habe am Script eigentlich keine Änderung vorgenommen...

Danke & Gruß
       Sven

BadenPower

#23
Hallo Sven,

es gibt mittlerweile das Kalenderskript in der Version V2.1.0.
Sende mir bitte Deine Mail-Adresse per PN, damit ich Dir die neueste Version zusenden kann.

Zum eigentlichen "Problem":

"IST-Werktag-Mo-Fr-..." bzw "IST-Werktag-Mo-SA-..." kennzeichnet nicht einen "nicht arbeitsfreien Tag", sondern nur, ob der Tag normalerweise ein Werktag Montag bis Freitag bzw. Montag bis Samstag wäre an welchem gearbeitet/die Schule besucht werden würde. Also quasi umgekehrt analog zu "Wochenende".

"Wochenende" heisst ja auch nicht, dass es ein arbeitsfreier Tag ist, sondern nur, dass der Tag entweder ein Samstag oder ein Sonntag ist.

Mit "IST-Werktag-..." ersparst Du Dir in Programmen die Abfrage :
WENN Montag oder Dienstag oder Mittwoch oder Donnerstag oder Freitag
bzw.
WENN Montag oder Dienstag oder Mittwoch oder Donnerstag oder Freitag oder Samstag

.
Zitat eines Users per PN:
Die Dummheit eines Forums, vor allem deren Nutzer, läßt sich daran ablesen, wie oft Personen als Troll bezeichnet werden, wenn sie offenkundige Fehlverhalten von anderen Benutzern öffentlich machen.