Zitat von Onkelandy
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Plugin darksky.net für Wetterdaten - wird Ende 2021 Abgeschaltet
Einklappen
X
-
Ob es bei ordereddicts eine. Change gab weiss ich nicht. Es gab auf jeden Fall eine Neuimplementierung der dicts. Seit Python 3.6 behält ein dict die Reihenfolge der key-value Paare bei, uns ändert sie nicht evtl. bei jeder Zuweisung (wie in allen Vorversionen von Python). Das ist übrigens nicht als Feature dokumentiert worden, kann sich also mit kommenden Python Versionen evtl. Wieder ändern.Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
Ich habe wenn ich Python 3.5.3 einsetze auch eine gemischte Tagesfolge. Wenn ich Python 3.6.5 einsetze, stimmt die Reihenfolge der Tage bei mir.
Das requests Package liefert im Plugin das Ergebnis der Abfrage
Code:json_obj = response.json()
Du solltest das Problem für Dich lösen können, wenn Du eine Python 3.6 oder Python 3.7 Version installierst.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
- Likes 1
Kommentar
-
Zitat von Msinn Beitrag anzeigenDamit ist die Reihenfolge im dict für Python Versionen vor 3.6 nicht garantiert. Um das zu beheben müsste man sich im Plugin die response als String liefern lassen und selbst in ein OrderedDict wandeln. Da das nur für Python 3.5 (wird von der nächsten SmartHomeNG Version nicht mehr unterstützt) gilt und darksky sowieso nur noch ca. ein Jahr läuft, glaube ich der Aufwand ist zu hoch.
Du solltest das Problem für Dich lösen können, wenn Du eine Python 3.6 oder Python 3.7 Version installierst.
Was die Python-Version betrifft, habe ich jetzt die 3.7. installiert. Ein Horror, wenn man das per Hand machen muss. Vor allem hatte ich erst 3.8. installiert und damit lief dann SmartHomeNG nicht. Ich habe dazu einige Anleitungen gefunden und wer es denn noch braucht, findet es hier:
Installation von 3.7: https://installvirtual.com/install-p...-raspberry-pi/
De-Installation von 3.5.3:
Code:sudo apt remove python3.5 sudo apt purge python3.5
Kommentar
-
Zitat von Msinn Beitrag anzeigenWas läuft nicht? Mit so globalgalaktischen Aussagen kann nich nichts anfangen.
Vorerst habe ich jetzt die 3.5.3 wieder installiert. und es geht wieder. Ich vermute er sucht genau die Python-Version?
Wie kann ich das denn mit einer anderen python-Version testen oder einrichten? Denn allein einfach ein anderes Pythn zu installieren reicht nicht, richtig?
Kommentar
-
Zitat von Onkelandy Beitrag anzeigenDann würde ich vorschlagen, du nutzt vorerst mal deinen Bugfix mit Python 3.5.3
Auf welchem System läuft dein shng eigentlich? Raspi?
Kommentar
-
Zitat von Onkelandy Beitrag anzeigenDas würde dann nach meinem raspi image schreien. Plug and play baby
Kommentar
-
Zitat von Cannon Beitrag anzeigen
Ja habe ich schon gesehen. Ich habe damals alles selbst aufgesetzt und später nicht alles als Image neu installiert, weil ich Angst habe, dass dann meine ganzen Sachen verloren gehen. Die Installation und Einrichtung von NGINX und LetsEncyrpt war alles andere als trivial.
Kommentar
-
"darksky.daily.day0.precipProbability" gibt die Regenwahrscheinlichkeit zurück. Allerdings möchte ich nicht wissen, ob es heute geregnet hat, sondern nur, ob es heute noch regnen wird. Wie kann ich das am Besten ermitteln?
Ich nahm erst an, dass das mit den mean-Werten geht:
Die relevantesten Berechnungen zu den stundenweisen Vorhersagen sind aber bereits im Plugin implementiert. Und zwar sind unter den Items bzw. ds_matchstring mit den Namen precipProbability_mean, precipIntensity_mean und temperature_mean die durchschnittlichen Regen- und Temperaturvorhersagen abrufbar. Hierbei werden die entsprechenden stündlichen Einzelwerte herangezogen, um den Mittelwert zu erstellen. Auf diese Weise ist es z.B. möglich, die Regenwahrscheinlichkeit für den restlichen heutigen Tag abzufragen.
Kommentar
-
Es gibt im struct ein forecast_hourly mit den Einträge hour0, hour1, etc. hour0 ist die aktuelle Stunde, hour1 die nächste, etc. Da kannst du die precipProbability jeweils rauslesen und in einer Logik den Maximalwert errechnen.
Hab bei mir ein einfaches eval, um die Wahrscheinlichkeit für die nächsten beiden Stunden zu errechnen:
Code:max(sh.darksky.hourly.hour0.precipProbability.property.value, sh.darksky.hourly.hour1.precipProbability.property.value)
Kommentar
Kommentar