Laufende Wochenzahl errechnen
-
- Beiträge: 104
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: Laufende Wochenzahl errechnen
Hallo @udo1toni, danke für den Hinweis.
Ich bin mir nicht sicher, ob das Runden für meine Berechnung der Wochennummer hilfreich ist, aber ich möchte es ausprobieren.
Mein Berechnungscode lautet
"lfdWoche.postUpdate((lfdTag.state as DecimalType) / (7))"
wo muss denn da "Math::round()" hin?
Danke und schöne Grüße. PJH
Ich bin mir nicht sicher, ob das Runden für meine Berechnung der Wochennummer hilfreich ist, aber ich möchte es ausprobieren.
Mein Berechnungscode lautet
"lfdWoche.postUpdate((lfdTag.state as DecimalType) / (7))"
wo muss denn da "Math::round()" hin?
Danke und schöne Grüße. PJH
-
- Beiträge: 99
- Registriert: 30. Jul 2016 19:51
- Wohnort: östlich von Hamburg, südlich von Lübeck, nördlich von Geesthacht
Re: Laufende Wochenzahl errechnen
Bekommst du die ganzen Werte aus einem Binding oder ermittelst du die selbst?PJH hat geschrieben: ↑7. Sep 2021 14:12 Hallo @peter-pan, danke für die Mühe.
Da bei mir die Wochennummernberechnung mit meiner Division Tageszahl/7 bisher stimmt, lasse ich es dabei bis es nicht mehr stimmt, beschäftige mich aber mit den anderen Vorschlägen, weil sich daraus 'was lernen lässt.
Meine Sitemap sieht jetzt mal erstSitemap.jpg so aus.
Sind interessante Dinge bei, die halt nicht nur Wochennummer sind um die es in diesem Thread geht.
Kannst du dazu (wenn es kein Binding ist) ein extra Thread erstellen und uns die einzelnen Punkte mal vorstellen?
Gruß iBot
-
- Beiträge: 104
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: Laufende Wochenzahl errechnen
Hallo @iBot, letztendlich kommen alle Werte irgendwie aus einem Binding (Astro, NTP, OpenWeatherMap), und werden dann entsprechend extrahiert oder umgerechnet.
Da es doch ein bisschen umfangreich ist frage ich mal so: was genau möchtest Du wissen?
Schöne Grüße. PJH
Da es doch ein bisschen umfangreich ist frage ich mal so: was genau möchtest Du wissen?
Schöne Grüße. PJH
- peter-pan
- Beiträge: 2568
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Laufende Wochenzahl errechnen
...eine einfache Variante könnte so aussehen:
Aber wie Udo schon schrieb, dass ist suboptimal (beim Aufrunden bist du da schon in Woche 37).
Logger:
Code: Alles auswählen
rule "Week of the Year calculated and rounded"
when
Item Dummy_4 changed to ON
then
var vDayOfYear = now.getDayOfYear
logInfo("datumtest1", "day of the year is {}", vDayOfYear)
var vWeekYear = Math::round(vDayOfYear/7+0.5)
logInfo("datumtest1", "aktuelle Woche {} ", vWeekYear)
var vWeekYear1 = Math::round(vDayOfYear/7-0.5)
logInfo("datumtest1", "aktuelle Woche {} ", vWeekYear1)
// lfdWoche.postUpdate(vWeekYear1)
// lfdWoche.postUpdate(Math::round(vDayOfYear/7-0.5))
end
Logger:
Code: Alles auswählen
2021-09-09 15:33:04.665 [INFO ] [se.smarthome.model.script.datumtest1] - day of the year is 252
2021-09-09 15:33:04.668 [INFO ] [se.smarthome.model.script.datumtest1] - aktuelle Woche 37
2021-09-09 15:33:04.671 [INFO ] [se.smarthome.model.script.datumtest1] - aktuelle Woche 36
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
-
- Beiträge: 104
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: Laufende Wochenzahl errechnen
Hallo Peter, ja das ist so, deshalb beobachte ich erst einmal, wieweit meine einfache Division stimmt.
Ich habe aber die letzte Zeile ausprobiert (ohne "-0.5") und das funktioniert, zumindest derzeit auch. Ich werde beobachten.
Heute gibt's ja nichts zu überprüfen, heute kommt ohnehin glatt 36 raus.
Vielen Dank. PJH
Ich habe aber die letzte Zeile ausprobiert (ohne "-0.5") und das funktioniert, zumindest derzeit auch. Ich werde beobachten.
Heute gibt's ja nichts zu überprüfen, heute kommt ohnehin glatt 36 raus.
Vielen Dank. PJH
- peter-pan
- Beiträge: 2568
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Laufende Wochenzahl errechnen
Aber am Montag hast du das Problem so wieder:
Logger:
Regel:
Ich denke so wird das nichts.
Leider habe ich im Moment keine andere Idee als die weiter vorne beschriebene.
Logger:
Code: Alles auswählen
2021-09-09 22:17:27.054 [INFO ] [se.smarthome.model.script.datumtest1] - day of the year is 256
2021-09-09 22:17:27.058 [INFO ] [se.smarthome.model.script.datumtest1] - aktuelle Woche 37
2021-09-09 22:17:27.062 [INFO ] [se.smarthome.model.script.datumtest1] - aktuelle Woche1 36
2021-09-09 22:17:27.065 [INFO ] [se.smarthome.model.script.datumtest1] - aktuelle Woche2 36
2021-09-09 22:17:27.067 [INFO ] [se.smarthome.model.script.datumtest1] - aktuelle Woche3 36
Code: Alles auswählen
rule "Week of the Year calculated "
when
Item Dummy_4 changed to ON
then
var vDayOfYear = 256
logInfo("datumtest1", "day of the year is {}", vDayOfYear)
var vWeekYear = Math::round(vDayOfYear/7+0.5) // aufgerundet
logInfo("datumtest1", "aktuelle Woche {} ", vWeekYear)
var vWeekYear1 = Math::round(vDayOfYear/7-0.5) // abgerundet
logInfo("datumtest1", "aktuelle Woche1 {} ", vWeekYear1)
var vWeekYear2 = Math::round(vDayOfYear/7) // ungerundet
logInfo("datumtest1", "aktuelle Woche2 {} ", vWeekYear2)
var vWeekYear3 =vDayOfYear/7 // ungerundet ohne Funktion "Math"
logInfo("datumtest1", "aktuelle Woche3 {} ", vWeekYear3)
// lfdWoche.postUpdate(vWeekYear1)
// lfdWoche.postUpdate(Math::round(vDayOfYear/7-0.5))
end
Leider habe ich im Moment keine andere Idee als die weiter vorne beschriebene.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
-
- Beiträge: 104
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: Laufende Wochenzahl errechnen
Hallo Peter, ja das ist richtig, aber was ist wenn man bei der Division durch 7 nur die Stellen vor dem Komma auswertet?
Schöne Grüße. Paul
Schöne Grüße. Paul
-
- Beiträge: 99
- Registriert: 30. Jul 2016 19:51
- Wohnort: östlich von Hamburg, südlich von Lübeck, nördlich von Geesthacht
Re: Laufende Wochenzahl errechnen
Hallo PJH,PJH hat geschrieben: ↑9. Sep 2021 13:40 Hallo @iBot, letztendlich kommen alle Werte irgendwie aus einem Binding (Astro, NTP, OpenWeatherMap), und werden dann entsprechend extrahiert oder umgerechnet.
Da es doch ein bisschen umfangreich ist frage ich mal so: was genau möchtest Du wissen?
Schöne Grüße. PJH
folgendes würde mich interessieren:
Aktuelle Jahreszeit
Nächste Jahreszeit
Tages Nummer
Aktuelles Sternzeichen
Mond und Sonnenphasen hast du alle aus dem Astro Binding oder noch von woanders?
Welches Wetter Binding nutzt du für die Vorhersage?
Aber vllt. wirklich in einem extra Thread wird sonst so Off Topic.
Gruß iBot
-
- Beiträge: 104
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: Laufende Wochenzahl errechnen
@iBot Wo meinst Du, in welche Rubrik soll ich meine Antwort einstellen, ich kenne mich hier im Forum nicht wirklich aus.
Gruß. Paul-Joachim Haucke
Gruß. Paul-Joachim Haucke
-
- Beiträge: 104
- Registriert: 23. Mai 2017 08:32
- Wohnort: Duisburg
- Kontaktdaten:
Re: Laufende Wochenzahl errechnen
Hallo @uodo1toni, @peter-pan, noch eine Versuch.
Wenn man eine Regel erstellt, die nur abrundet, wenn der Nachkommaanteil >.5 ist.
Das müsste doch funktionieren. Nur, ich weiß nicht wie man den Nachkommaanteil ausformatieren kann.
Ihr wisst das sicherlich.
Schöne Grüße. PJH
Wenn man eine Regel erstellt, die nur abrundet, wenn der Nachkommaanteil >.5 ist.
Das müsste doch funktionieren. Nur, ich weiß nicht wie man den Nachkommaanteil ausformatieren kann.
Ihr wisst das sicherlich.
Schöne Grüße. PJH