Hab jetzt den Cache und Browserdaten gelöscht. Nun gehts wieder…
Ach, das ist ja zum k****. Mal gehts, mal nicht.
Es geht nur ein paar Sekunden, dann wieder alles leer. Schade ![]()
Hab jetzt den Cache und Browserdaten gelöscht. Nun gehts wieder…
Ach, das ist ja zum k****. Mal gehts, mal nicht.
Es geht nur ein paar Sekunden, dann wieder alles leer. Schade ![]()
Das Problem ist wie erwähnt, das Rainviewer mit Restriktionen der API begonnen hat.
Unter anderem ist die Vorschau und die Anzahl der Kacheln betroffen. Daher auch die Info, Autoplay zu deaktivieren. Auch das rein und rauszoomen lädt die Kacheln neu.
Ich schaue dann mal, ob ich die Kacheln irgendwie cachen kann, aktuell wird immer frisch geladen.
Am beste ihr stellt eine Wiederholrate von ca 10min ein, deaktiviert Autoplay und zoomt nicht zu häufig, dann läuft es einigermassen gut.
Hier findet ihr euer Feststellungen ausführlich beschrieben ![]()
Das Wetter-/Regenradar Script ist zwecks Übersicht des Projektes in einen eigenen Thread umgezogen und hat viele Verbesserungen erhalten, unter anderem werden nun die Tiles gecacht, so dass auch Autoplay wieder funktioniert….
Regenradar - Symcon / Skripte, PHP, SQL (Anleitungen) - Symcon Community
Hast Du hierzu irgendwie eine Lösung gefunden?
Bei mir geht die Instanz einen Fehler sobald ich Daten abrufen möchte.
Eine entsprechende Subscription habe ich abgeschlossen. API Version auf 3.0 gestellt, API Key generiert… ich weiß grad nicht weiter?
bei mir gehts auch nicht ![]()
erst wurde ich durch das heutige Video von @Dr.Niels angefixt, und nun funktioniert das nicht?
ich bekomme einen HTTP Fehler beim Datenabruf
Bei mir kommt neuerdings eine Fehlermeldung:
Cannot auto-convert value for parameter InstanceID (Type does not match) in C:\ProgramData\Symcon\modules\.store\demel42.openweathermap\OpenWeatherData\module.php on line 734
Fatal error: Uncaught TypeError: json_decode(): Argument #1 ($json) must be of type string, false given in C:\ProgramData\Symcon\modules\.store\demel42.openweathermap\OpenWeatherData\module.php:734
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\demel42.openweathermap\OpenWeatherData\module.php(734): json_decode(false, true)
#1 C:\ProgramData\Symcon\modules\.store\demel42.openweathermap\OpenWeatherData\module.php(537): OpenWeatherData->UpdateHourlyForecast()
#2 C:\ProgramData\Symcon\scripts\__generated.inc.php(8043): OpenWeatherData->UpdateData()
#3 C:\Windows\System32\-(77): OpenWeatherData_UpdateData(53770)
#4 {main}
thrown in C:\ProgramData\Symcon\modules\.store\demel42.openweathermap\OpenWeatherData\module.php on line 734
5
Es passiert hier als Folgefehler:
![]()
Auf Zeile 733 ist das abschließende Casten auf ‚array‘ die Ursache. Ohne das Casten funktioniert es.
Kann ich so bestätigen.
Allerdings nur bei Verwendung der API 2.5.
Bei der API 3.0 läuft alles sauber.
Versuch mal die aktuelle Beta des Moduls.
Wenn weiterhin ein Problem, dann bitte ein (ausreichend langen) du,p
Ah, Kommando zurück. Da muss ich was prüfen.
Ich hatte für IPS 9 und Beachtung von deprecated code die casts dazu gemacht. Nicht das er denkt, das id jetzt ein array sein soll …
Ok, bitte update vom Modul-Beta (nun 2.18.1)
Ist bei mir nicht aufgefallen, weil ich das OpenWeatherOneCall benutze und nicht das OpenWeatherData
Besten Dank, alles wieder gut![]()
Hattest du gesehen, dass die Anweisung dreimal in der Bibliothek vorkam?
Prima, das es wieder klappt.
Bzgl. der “Anweisung” bin ich etwas ahnungslos … was meinst Du?
Ich meine die Zeile mit dem cast auf die Archivinstanz.
Ich hatte die Warnung bzgl. deprecated code abgearbeitet (Spezialschalter CompatibilityDeprecation)
Und das ist die aktuelle PHP-Version “griffiger”
_IPS_GetInstanceListByModuleID()_ liefert u.U kein Array zurück sondern eventuell ein _false_
Daher den cast.
Aber …
das ist ok (und so steht das u.a. in der Bilbliothek)
$ids = (array) IPS_GetInstanceListByModuleID(…);
das aber nicht (der angehängte Index)
$id = (array) IPS_GetInstanceListByModuleID(…)[0];
das führt dazu, das das referenzierte Element 0 (also die Instanz-ID) ein Array wird.
Mit zusätzlicher Klammerung wäre das richtig …
$id = ((array) IPS_GetInstanceListByModuleID(…))[0];
Ist aber eigentlich auch nicht so doll, denn sollte die Funktion false liefern (was bei Kern-Modulen ja eigentlich nicht sein kann) würde es rumsen.
Und die Convenience-Funktion GetSystemLocation(); handhabt das korrekt und berücksichtigt auch die Kompatibilität mit alten IPS-Versionen
Alles klar, ich hatte ursprünglich nur gesehen, dass du an drei verschiedenen Stellen auf die gleiche Art und Weise auf das Location Control zugegriffen hattest.
Bedenke nur, dass wenn du false auf array castest, das Array anschließend die Länge 1 hat.
Das möchtest du vermutlich nicht. Besser wäre wohl, direkt auf false zu prüfen.
Servus beinand,
hab das Modul eingerichtet. API geholt.
„Datenabruf“ geht.
Aber „OneCall Datenabruf“ geht leider nicht. Den hätte ich allerdings gerne genutzt.
Hab auch die Beta genutzt, gleiches Problem.
Wenn ich „Aktualisiere Wetterdaten“ in der Instant auslöse, steht oben In der Instanz "Instanz ist inaktiv (HTTP Fehler).
Im Log steht das:
06.06.2026, 21:34:27 | OpenWeatherOneCall | url=https://api.openweathermap.org/data/2.5/onecall?appid=999999999999999999999&lat=48.99999&lon=11.999999&units=metric&lang=de&exclude=minutely%2Chourly => statuscode=211, err=got http-code 401 (unauthorized)
Die Settings in beiden Instanzen sind mit API und Location gleich.
Wo kann ich da den Wurm drin haben, oder ist einfach was kaputt?
Danke und Gruss
Seppm
Hast du denn die OneCall-API in deinem Konto aktiviert? Muss man extra machen und zustimmen, das es Geld kostet, wenn man zuviele Abrufe macht - da man aber das Abruf-Limit einstellen kann, kann man verhindern, in den kostenpflichtigen Bereich zu kommen
Danke, das war das Problem. Hatte ich nicht realisiert. Hab mich nun für OneCall API 3.0 angemeldet, hab es für mich auf 1000 Calls beschränkt weil ich nichts zahlen will versehentlich. Kreditkarte alles angegeben, steht auch dass es nun aktiv ist.
Es mag mich aber trotzdem nicht.
EDIT:
Ich war zu ungeduldig, nach 10 Min ging es. Ja, wer hat denn heute SOOOO lange Zeit ![]()
Läuft! Super
Merci Seppm
wollte ich dir gerade schreiben, das war mir noch erinnerlich.
umso besser, das es geht.
ich habe dann gerade gesehen, das es eine neue Version des OneCall gibt, eine 4.0 statt der aktuellen 3.0
Muss mal prüfen, ob die irgendwelche zusätzlich Daten enthält oder letztendlich nur alter Wein in neuen Schläuchen.