Seite 58 von 59

Re: Feiertagsberechnung - Skript

Verfasst: 27.04.2022, 09:35
von torsten_pf
Hallo Petrus,

auch von mir vielen Dank für deine Skripte - sie erleichtern die Migration meiner Rollladensteuerung von IP-Symcon zu Raspberrymatic ungemein!

Eine Ergänzung hätte ich noch für die Feiertagsliste: In Thüringen ist seit 2019 der Weltkindertag (20.09.) ein gesetzlicher Feiertag. Nimmst du ihn bitte mit in das Skript auf?

Code: Alles auswählen

  if(BLand=="TH"){s_Feiertage=s_Feiertage#";20.09.=Weltkindertag";}
Torsten

Re: Feiertagsberechnung - Skript

Verfasst: 27.04.2022, 15:14
von Petrus
DANKE für die Unterstützung Torsten! Wurde im Skript ergänzt.

Gruß
Petrus

Re: Feiertagsberechnung - Skript

Verfasst: 01.11.2022, 21:26
von JuMatic
Hallo und vielen Dank für das Script.

Ich habe folgendes Problem gefunden - oder mache ich etwas falsch ?

Code: Alles auswählen

WriteLine(svObj);
if (svObj){
  WriteLine("svObj - true");
  WriteLine(svObj.ValueType());
  WriteLine(ivtString);
  if (svObj.ValueType() == ivtString) {string holydays=svObj.Value();} else {
    if (svObj.ValueType() == ivtInteger) {string holydays=svObj.ValueList();} else {WriteLine(svObj.Name()#" = Falscher ValueTyp. Script wird beendet!"); quit;}
  }
  WriteLine(svObj.Value());
  WriteLine(svObj.Value(0));
Ausgabe:
2.11.;3.11.-4.11.
svObj - true
20
20
! "Hier wird svObj.Value() nicht richtig ausgewertet"
2.11.;3.11.-4.11. ! "Hier wird svObj.Value(0) richtig ausgewertet"
Keine Urlaubsdaten vorhanden. Script beendet
Frage also: Ist das Coding so richtig, wie im Script "string holydays=svObj.Value()" - und wenn ja, warum funktioniert es bei mir scheinbar nicht ?

Re: Feiertagsberechnung - Skript

Verfasst: 03.11.2022, 17:02
von Petrus
Hallo JuMatic,

kann man davon ausgehen, dass das dein eigener Code ist? Denn im aktuellen Urlaubsscript sind die Zeilen so nicht vorhanden.
Poste mal dein komplettes Script. Ohne ist die Fehlersuche schwierig!

Ich habe mal deine geposteten Zeilen übernommen und davor die Objekte entsprechend deklariert. Daraufhin wird in der Ausgabe auch alles korrekt angezeigt. Mehr kann ich dazu nicht sagen.

Code: Alles auswählen

object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
object svObj=svObjects.Get("Urlaubstage");

WriteLine(svObj);
if (svObj){
  WriteLine("svObj - true");
  WriteLine(svObj.ValueType());
  WriteLine(ivtString);
  if (svObj.ValueType() == ivtString) {string holydays=svObj.Value();} else {
    if (svObj.ValueType() == ivtInteger) {string holydays=svObj.ValueList();} else {WriteLine(svObj.Name()#" = Falscher ValueTyp. Script wird beendet!"); quit;}
  }
  WriteLine(svObj.Value());
}
Urlaubstage
svObj - true
20
20
2.11.;3.11.-4.11.

Re: Feiertagsberechnung - Skript

Verfasst: 05.11.2022, 19:13
von JuMatic
Hallo Petrus,

vielen Dank für deine Rückmeldung.
Ist aus dem Script "Urlaubstage_V4.07_complete.txt" ab Zeile 184 (! *** Objekt definieren und Urlaubsdaten aus der SV holen)
Ich habe ein paar Ausgaben für Debug Zwecke dazu eingefügt.
Das ganze Script im Anhang.

EDIT: Script mit meinen LOG Ausgaben nochmal hier ausgetauscht

Viele Grüße

Re: Feiertagsberechnung - Skript

Verfasst: 05.11.2022, 19:53
von JuMatic
Ich habe die Variablen gerade nochmal anlegen lassen.
Dabei fällt mir das auf:
Urlaub-Heute : ValueTyp OK!
Urlaub-Morgen : ValueTyp OK!
Urlaub-Tage-bis : ValueTyp OK!
5.11.;4.11.-10.11. : Systemvariable create!

Re: Feiertagsberechnung - Skript

Verfasst: 05.11.2022, 20:52
von JuMatic
Hier nochmal das Script mit meinen Log-Ausgaben (habe ich oben drüber auch ersetzt, falls das schon jemand angeschaut hat)

Re: Feiertagsberechnung - Skript

Verfasst: 06.11.2022, 14:20
von Petrus
JuMatic hat geschrieben:
05.11.2022, 20:52
Hier nochmal das Script...
Alles klar. Die Ursache liegt in Zeile 64. Du hast dort deine Urlaubsdaten eingetragen. Dort gehört aber der Name der Systemvariablen hin (im Beispiel im Originalscript: "Urlaubstage"). Deine Urlaubsdaten musst du dann in der CCU in dieser Systemvariablen eingetragen und eben nicht im Script selbst.

Wenn du das änderst, funktioniert auch alles wie gewünscht.

Gruß
Petrus

Re: Feiertagsberechnung - Skript

Verfasst: 06.11.2022, 17:44
von JuMatic
Oh Gott, wie peinlich :roll: :oops:
Tut mir sehr leid, dass ich damit deine Zeit verplempert habe ...

Läuft jetzt (natürlich)

Herzlichen Dank nochmal

Jürgen

Re: Feiertagsberechnung - Skript

Verfasst: 11.12.2022, 16:15
von H3llF15H
Moin Petrus!

Zu aller erst: vielen Dank für Dein Skript und auch dass Du nach 12 Jahren immer noch supportest.

JuMatic ggü. hast Du erwähnt, dass der Urlaub (in meinem Fall vom 27.12.2022-30.12.2022) in der SV "Urlaubstage" einzutragen ist.

Dazu folgende Frage, denn möglicherweise habe ich als Laie etwas nicht verstanden: beim Durcharbeiten Deiner Anleitung im Post 1 wurde die SV "Urlaubstage" automatisch als Zeichenkette angelegt. Um dort aber den Urlaub eintragen zu können müsste dies doch eine Werteliste sein, so dass ich den Urlaub als Datum (z.B. 08.12.2022-12.12.2022;27.12.2022-30.12.2022; ) dort eintragen kann, oder?

Vorab vielen Dank :)