[solved] Ein Newbie benötigt Hife bei einer Rule
-
- Beiträge: 135
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Hallo udo1toni,
danke, woher weiß die rule (das System) wo es die Datei (heißt übrigens holidayS_de.xml) findet?
Es ergibt einen Fehler, auch wenn ich den vollständigen Pfad zur Datei eingebe.
Schöne Grüße. PJH
danke, woher weiß die rule (das System) wo es die Datei (heißt übrigens holidayS_de.xml) findet?
Es ergibt einen Fehler, auch wenn ich den vollständigen Pfad zur Datei eingebe.
Schöne Grüße. PJH
openHAB 4.3 im Synology NAS Docker-Container.
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Gewöhnlich sollte die Datei in $OPENHAB_CONF/services/ liegen. Die xml Datei (holidays_de.xml ) soltle auch tatsächlich ausgewertet werden, im Gegensatz (wie erwähnt...) zur holiday_descriptions_de.properties, welche leider nicht berücksichtigt wird. Aber openHAB verwendet zumindest eine interne Version dieser Datei (die aber offensichtlich irgendwo verpackt liegt, denn im Dateisystem selbst ist sie nicht auffindbar).
Die holidays_de.xml liegt natürlich ebenfalls als default Version vor. Ob die eigene Datei verwendet wird, kann man also nur daran erkennen, dass ein in der Standard Datei nicht vorhandener Termin erkannt wird.
Insgesamt finde ich die Umsetzung suboptimal, sowohl was jollyday selbst betrifft als auch die Integration in openHAB, auf der anderen Seite stehen dadurch sehr viele Feiertage zur Verfügung, auch solche, die hier eher unbekannt sind, das hilft natürlich auch bei der potentiellen Verbreitung von openHAB
Die holidays_de.xml liegt natürlich ebenfalls als default Version vor. Ob die eigene Datei verwendet wird, kann man also nur daran erkennen, dass ein in der Standard Datei nicht vorhandener Termin erkannt wird.
Insgesamt finde ich die Umsetzung suboptimal, sowohl was jollyday selbst betrifft als auch die Integration in openHAB, auf der anderen Seite stehen dadurch sehr viele Feiertage zur Verfügung, auch solche, die hier eher unbekannt sind, das hilft natürlich auch bei der potentiellen Verbreitung von openHAB

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 135
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Hallo udo1toni, ich benötige nochmal (vermutlich auch nochmal und nochmal ...) Deine Hilfe.
Ich bekomme die Datei holidays-de.xml (ich habe sie umbenannt, aber vorher mit holidays_de.xml ging's auch nicht) einfach nicht eingelesen.
Hie ist einmal meine (Versuchs) -rule.
Das Ergebnis:
Die Datei liegt hier:
Ob ich den Vorsatz /etc mit eingebe, oder nicht, ändert nix.
Ich betreibe openHAB in der Version 3.3 auf einer Synology NAS im Docker-Container.
Danke und einen schönen Gruß. PJH
Ich bekomme die Datei holidays-de.xml (ich habe sie umbenannt, aber vorher mit holidays_de.xml ging's auch nicht) einfach nicht eingelesen.
Hie ist einmal meine (Versuchs) -rule.
Code: Alles auswählen
rule "dummy"
when
Time cron "0 01 00 ? * * *" or
System started or
Item vSystemRestart changed to ON
then
// val FeiertagName1 = getHolidayDescription(getNextBankHoliday)
val String FeiertagName = '/etc/openhab/conf/services/holidays-de.xml'
// val String currentHoliday = Ephemeris.getNextBankHoliday() //Ephemeris.getBankHolidayName()
// val String FeiertagName = Ephemeris.getNextBankHoliday()
val long TagebisFeiertag = Ephemeris.getDaysUntil(FeiertagName)
val String morgenWochenende = Ephemeris.isWeekend(1)
Nfeiertag.postUpdate(FeiertagName + " " + "(in " + TagebisFeiertag + " Tagen)")
Nfeiertag2.postUpdate(FeiertagName + " " + "(in " + TagebisFeiertag + " Tag)")
Afeiertag.postUpdate(TagebisFeiertag)
TagebisFeiertag1.postUpdate(TagebisFeiertag)
if (TagebisFeiertag < 2 || morgenWochenende == true) {
logInfo("dummy","Morgen ist Wochenende oder Feiertag {}")
}
else {
logInfo("dummy","Morgen ist kein Wochenende und Feiertag ist erst in " + TagebisFeiertag + " Tagen")
}
TbF.postUpdate(TagebisFeiertag)
end
Die Datei liegt hier:
Ob ich den Vorsatz /etc mit eingebe, oder nicht, ändert nix.
Ich betreibe openHAB in der Version 3.3 auf einer Synology NAS im Docker-Container.
Danke und einen schönen Gruß. PJH
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB 4.3 im Synology NAS Docker-Container.
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
So wird eher ein Schuh draus:
Die diversen doppelten Items habe ich mal weg gelassen, die brauchst Du nicht.
Code: Alles auswählen
rule "Feiertag"
when
Time cron "0 0 0 * * ?" or // täglich um Mitternacht
System started or
Item vSystemRestart changed to ON
then
val strHolidays = "/etc/openhab/conf/services/holidays_de.xml" // Name der Datei
val strNextHoliday = Ephemeris.getNextBankHoliday(strHolidays) // Original-Name des Feiertags
val strFeiertag = Ephemeris.getHolidayDescription(strNextHoliday) // Übersetzung, falls Standard Feiertag. alternativ:
val strFeiertag = transform("MAP","holiday.map",strNextHoliday) // Übersetzung aus Mapping solange eigene Feiertage nicht übersetzt werden können
val nNextHoliday = Ephemeris.getDaysUntil(strNextHoliday,strHolidays) // Tage bis zum Feiertag
val bTomorrowWeekend = Ephemeris.isWeekend(1)
var strMeldung = strFeiertag + " ("
switch(nNextHoliday) {
case 1 : strMeldung += "morgen)"
case 2 : strMeldung += "übermorgen)"
default : strMeldung += "in" + nNextHoliday.toString + "Tagen)"
}
Afeiertag.postUpdate(nNextHoliday)
Nfeiertag.postUpdate(strMeldung)
if(nNextHoliday < 2 || bTomorrowWeekend) {
logInfo("holiday","Morgen ist Wochenende oder Feiertag.")
} else {
logInfo("holiday","Morgen ist kein Wochenende und {} ist erst in {} Tagen",strFeiertag,nNextHoliday)
}
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Der Test mit der Rule von Udo hat bei mir soweit auch ganz gut geklappt. Ich habe allerdings noch zwei Änderungen vorgenommen.
a) Name der Datei "/etc/openhab/services/Holidays_de.xml", da hier so abgestellt.
b) den Pfad etwas gekürzt (ohne "/conf"), da $OPENHAB_CONF bei mir /etc/openhab. Info hier
a) Name der Datei "/etc/openhab/services/Holidays_de.xml", da hier so abgestellt.
b) den Pfad etwas gekürzt (ohne "/conf"), da $OPENHAB_CONF bei mir /etc/openhab. Info hier
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Stimmt, auf den Pfad hatte ich gar nicht mehr geschaut...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 135
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Guten Morgen, also ich kann machen, was ich will, ich bekomme die Datei nicht eingelesen.
Muss man sie eventuell noch irgendwo deklarieren?
Und bitte, ich habe im Beitrag von Gestern (17.1.24) 12.06h meine Ordnerstruktur gepostet. Kann jemand bitte einmal nachschauen wie die Ordnerangabe richtig lauten muss?
Vielen Dank und einen schönen Gruß. PJH
Muss man sie eventuell noch irgendwo deklarieren?
Und bitte, ich habe im Beitrag von Gestern (17.1.24) 12.06h meine Ordnerstruktur gepostet. Kann jemand bitte einmal nachschauen wie die Ordnerangabe richtig lauten muss?
Vielen Dank und einen schönen Gruß. PJH
openHAB 4.3 im Synology NAS Docker-Container.
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Also ich kenne mich mit Docker nicht aus, aber Udo hat schon Recht .Eigentlich sollte sich hinter der Umgebungsvariablen $OPENHAB_CONF der absolute Pfad für deine openHAB-Umgebung verbergen.
Und im entsprechenden Unterverzeichnis sind dann normalerweise die einzelnen Dateien abgelegt. Das sieht dann bei mir so aus:
...und so oder so ähnlich sollte das auch bei dir aussehen.
Ob es natürlich in Docker noch spezielle Mechanismen zu beachten gilt, kann ich natürlich nicht beurteilen, aber vielleicht hilft dir der Linux-Befehl echo $OPENHAB_CONF und folgende ja schon weiter, um Licht ins Dunkle zu bringen. Das musst du schon selbst heraus finden
Code: Alles auswählen
hab3@oh3ssd:~ $ echo $OPENHAB_CONF
/etc/openhab
hab3@oh3ssd:~ $ ls -alF $OPENHAB_CONF/
insgesamt 68
drwxrwxr-x 17 openhab openhab 4096 18. Dez 09:55 ./
drwxr-xr-x 99 root root 4096 10. Jan 17:30 ../
drwxrwxr-x 3 openhab openhab 4096 20. Dez 2021 automation/
drwxrwxr-x 3 openhab openhab 4096 9. Jan 12:21 html/
drwxrwxr-x 3 openhab openhab 4096 12. Dez 2021 icons/
drwxrwxr-x 2 openhab openhab 4096 10. Jan 11:22 items/
drwxrwxr-x 2 openhab openhab 4096 25. Apr 2023 misc/
drwxrwxr-x 2 openhab openhab 4096 9. Jan 12:21 persistence/
drwxrwxr-x 2 openhab openhab 4096 17. Jan 19:13 rules/
drwxrwxr-x 2 openhab openhab 4096 13. Jan 15:43 scripts/
drwxrwxr-x 2 openhab openhab 4096 9. Jan 12:21 services/
drwxrwxr-x 2 openhab openhab 4096 9. Jan 12:21 sitemaps/
drwxrwxr-x 2 openhab openhab 4096 9. Jan 12:21 sounds/
drwxr-xr-x 2 openhab openhab 4096 9. Jan 12:21 tags/
drwxrwxr-x 2 openhab openhab 4096 9. Jan 12:21 things/
drwxrwxr-x 2 openhab openhab 4096 10. Jan 14:25 transform/
drwxrwxr-x 2 openhab openhab 4096 23. Dez 2021 .vscode/
hab3@oh3ssd:~ $
Code: Alles auswählen
hab3@oh3ssd:~ $ ls -alF /etc/openhab/services
insgesamt 156
drwxrwxr-x 2 openhab openhab 4096 9. Jan 12:21 ./
drwxrwxr-x 17 openhab openhab 4096 18. Dez 09:55 ../
-rw-rw-r-- 1 openhab openhab 1547 2. Jul 2023 addons.cfg
-rw-r--r-- 1 openhab openhab 425 25. Dez 2022 basicui.cfg
-rw-rw-r-- 1 openhab openhab 23573 25. Dez 11:41 country_descriptions_de.properties
-rw-rw-r-- 1 openhab openhab 137 29. Dez 17:41 ephemeris.cfg
-rw-rw-r-- 1 openhab openhab 20795 29. Dez 18:09 holiday_descriptions_de.properties
-rw-rw-r-- 1 openhab openhab 8744 25. Dez 10:59 Holidays1_de.xml
-rw-rw-r-- 1 openhab openhab 7957 25. Dez 10:43 Holidays_de.xml
-rw-rw-r-- 1 openhab openhab 333 12. Dez 2021 readme.txt
-rw-rw-r-- 1 openhab openhab 551 12. Dez 2021 rrd4j.cfg
-rw-rw-r-- 1 openhab openhab 48638 7. Dez 09:59 runtime.cfg
-rw-rw-r-- 1 openhab openhab 10415 10. Sep 19:44 runtime.cfg.dpkg-dist
hab3@oh3ssd:~ $
Ob es natürlich in Docker noch spezielle Mechanismen zu beachten gilt, kann ich natürlich nicht beurteilen, aber vielleicht hilft dir der Linux-Befehl echo $OPENHAB_CONF und folgende ja schon weiter, um Licht ins Dunkle zu bringen. Das musst du schon selbst heraus finden
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
In einem Docker Container ist der vollständige Pfad ebenfalls /ect/openhab/services/Holidays_de.xml (immer vorausgesetzt, es handelt sich um das offizielle Docker Image)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 135
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Das scheint im (Synology) Docker-Container etwas anders zu sein. Wenn ich direkt im openhab-Ordner echo $OPENHAB_CONF eingebe erhalte ich als Ausgabe nul.
Wenn ich die Abfrage vom root-Verzeichnis aus eingebe,erhalte ich nur eine Leerzeile.
Ich habe den kompletten Pfad zur holidays-Datei ermittelt und eingegeben (volume1/docker/openhab/conf/services/holidays_de.xml), aber auch das funktioniert nicht.
Ich werden wohl mein Ephemeris Experiment abbrechen müssen.
Jedenfalls vielen Dank für eure Bemühungen.
Schöne Grüße. PJH
Wenn ich die Abfrage vom root-Verzeichnis aus eingebe,erhalte ich nur eine Leerzeile.
Ich habe den kompletten Pfad zur holidays-Datei ermittelt und eingegeben (volume1/docker/openhab/conf/services/holidays_de.xml), aber auch das funktioniert nicht.
Ich werden wohl mein Ephemeris Experiment abbrechen müssen.
Jedenfalls vielen Dank für eure Bemühungen.
Schöne Grüße. PJH
openHAB 4.3 im Synology NAS Docker-Container.