Wetterdaten Anzeige

Bilder sind die schlechteste Variante um Code hier zu zeigen :wink: . Außerdem hast du in den beiden Threats unterschiedliche Bilder. Woher ist das Original-Script?

Möglicherweise liegt es an deinem Pfad
grafik

unter Windows normalerweise Doppelbackslash („\\“) unter Linux einfacher Slash („/“).

Ist 49925 ein Ordner/Kategorie?

Wetter MediaObjekt Icon – IPSView

image

Sorry als Anfänger in dem Bereich fällt es einem schwer bis man einmal die ganze Logik verstanden und sich Grundkenntnisse in php angeeignet hat.

Zur Info, das System läuft bei mir auf einer Windows 11 64bit Maschine, dich bereits für die alte Lösung eingesetzt hatte.

… vor allen Dingen musst du ein Mediaobjekt erstellen, und in diesen werden dann die Icons ausgetauscht.
Es sieht so aus, als ob du für jedes Icon eins in IPSymcon erstellt hast …

Und du hast auch wirklich im Dateisystem unter
symcon\media\wettersymbole

die Dateien abgelegt?

Update:
Die $MediaID ist das Bild, was manuell erstellt wurde. Darunter muss das Script liegen.

Der $Pfad ist der tatsächliche Dateipfad zu den Dateien im Filesystem.

Ich befürchte, das muss @Brownson mal genauer erklären, ich verstehe seine Hardcopies auch nicht wirklich.

Das Script ist übrigens mal von mir gewesen.
Aber das sollte doch einfach zu verstehen sein.

Das Objekt MediaID bekommt nur das passende Bild aus dem angegebenen Pfad zugewiesen,
welche die WetterIconID von von OpenWeather vorgibt.
Anschließend lässt sich das MediaObjekt in eine View einbinden und wird dann passend zu den Wetterdaten von OpenWeather geändert.
Mehr passiert da doch nicht … ?

Wie erstelle ich das Mediaobjekt?

Ich habe nur über

alle Bilder in den Ordner geladen.

ja, aber im Bild liegt das Script unterhalb eines Media-Objektes, was es ja eigentlich noch nicht geben kann.

Und meine Erwartung war, dass es eine übergeordnete Kategorie ist, es ist im Bild aber eine Dummy Instanz.

Ich habe es anders gelöst und lege über ein Script zu jeder Wetterbedingung-Symbol eine weitere Variable an, in der „n“ bzw. „d“ gegen 1 oder 2 und somit Integer ersetzt wird. Dadurch kann ich ein Assoziation-Image nutzen und nach einmaliger Fleißarbeit beim Anlegen geht das sehr gut.

grafik

Ja habe ich

Genau das macht das Script, wenn die Dateien in einem Ordner im Filesystem liegen :wink: .

Also nicht in Symcon hochladen.

So habe nun nochmals alle Bilder entfernt und hochgeladen.

Der legt die ganzen Bilder zwar im Objektbaum unter Wettersymbole ab, auf dem PC liegen die aber direkt in /media/

Objekt hinzufügen > Media > Bild

Aber eben nur einmal und das Script ordnet das passende Bild aus deinem Pfad dann hierauf.
Dafür habe ich ja dann auch das Bild 44.png, wenn mal keine entsprechendes Bild im Pfad liegt, welchen geladen werden kann und man das dann sieht.

Darf ich nur Bild 44.png so hochladen? Ich habe alle Bilder hochgeladen aus dem Downloadordner

habe jetzt noch den Pfad mal auf \media\ geändert aber mit gleichem Fehler

Hätte ich die Bilder in das BildArchiv speichern müssen

Du musst doch $MediaID noch die ID geben, von der „Bild Variablen“ die du erstellt hast

Die Bilder haben in IPSymcon nix verloren, die stehen nur auf der Platte oder auf was du speicherst

Also die Bilder habe ich jetzt nur noch auf der Platte im Verzeichnis wie oben aufgezeigt abgelegt. Der Fehler bleibt jedoch.

Du musst ein Bild als Media-Objekt hochladen. Die ID im Script eintragen und das Script muss unterhalb vom Media-Objekt liegen.

So wie im Bild von Brownson

Und das Bild-Archiv ist etwas ganz anderes.

Ich weiss auch nicht, was deine Zeile 37 bedeuten soll?
Das macht doch keinen Sinn.

$ImageFile = $Path.$Image;                                      // Image-Datei
IPS_SetMediaFile($MediaID, $ImageFile, true);                   // Image im MedienPool mit Image-Datei