[Skript] Sonnengang

Wo hast Du denn das Bild und das Chart abgelegt?

$DRAW = [
    'bg'            => '/user/sunrun/bg.png', // Hintergrundbild (Karte)
    'chart'         => '/user/sunrun/chart.svg', // Chart- bzw Diagrambild

wenn so dann sollte …

http://<ips-ip>/user/sunrun/bg.png der Browser das Bild anzeigen!

Leider zeigt mir der Browser das Bild nicht an. Safari meldet immer, dass Safari die Seite nicht öffnen kann, da Safari keine Verbindung zum Server aufbauen kann. Mit Google Chrome funktioniert es auch nicht.

IPS läuft bei mir auf einem Raspi. Das Hochladen der Bilder hat aber geklappt. Ich sehe die Dateien im Terminal.

Muss ich noch irgendeinen Port angeben oder kann es an einer Firewall liegen?

Ah ja den 3777, also :3777/user …

Hi, gibts eine Möglichkeit den äußeren Ring mit den Gradangaben und evtl auch die Chart-Datei auch in schwarz darstellen zu lassen? Also im Prinzip der komplette Skalenbereich.

Hi,

klar, ist doch nur ein SVG und somit relativ einfach die Farben zu manipulieren.

Die chart.svg liegt ja normalerweise unter /user/sunrun/chart.svg. Dort kann man mit einem einfachen Editor die Farben anpassen.

Falls Du Hilfe brauchst sag Bescheid - könnte ich dann auch mit ins Repo aufnehmen,

Gruß Heiko

Super, hat geklappt… Ich wäre nicht auf die Idee gekommen die Datei mit einem Editor zu bearbeiten. Hatte es mit Illustrator versucht und da hats natürlich nicht geklappt. :wink:
Dank dir.

1 „Gefällt mir“

Danke @pitti für das Skript, das ich eigentlich seit 2 Jahren gern nutze. Mit der Umstellung auf Symcon V7.X funktioniert jedoch der Zugriff auf das Untergrundbild im /user-Verzeichnis nicht mehr, wenn man (wie empfohlen) ein Passwort setzt. Da das Problem des Zugriffs einer HTML-Box auf das Verzeichnis bei gesetztem Passwort vom Symcon-Team wohl nicht mehr gelöst wird (siehe auch hier), wäre eine Lösung, das Bild als Medienobjekt einzubinden. Wie könnte man das machen?

Viele Grüße und danke für Deine tollen Module und Skripte!

Grundsätzlich sollte das auch gehen.

Ich habe bei mir ein Webhhook auf folgendes Script angelegt …

<?php

declare(strict_types=1);

################################################################################
# Script:   System.Medien.ips.php
# Version:  1.0.20231019
# Author:   Heiko Wilknitz (@Pitti)
#
# Skript zum Anzeigen von Medienobjekten in IPS!
#
# ------------------------------ Changelog -------------------------------------
#
# 19.10.2023 - Initalversion (v1.0)
#
################################################################################

# # ID des Standard-Medienordners (siehe Locals)
$media = __WWX['IDM_ROOT'];

// AUFRUF WEBHOOK
if ($_IPS['SENDER'] == 'WebHook') {
    $root = isset($_GET['root']) ? $_GET['root'] : $media;
    $name = isset($_GET['name']) ? $_GET['name'] : '';
    $type = isset($_GET['type']) ? $_GET['type'] : 'image/png'; // default: image/png | oder audio/mpeg ...

    if ($name != '') {
        $mid = IPS_GetMediaIDByName($name, $root);
        if ($mid === false) {
            header('HTTP/1.0 404 Not Found');
            echo 'Medienobjekt mit Namen ="' . $name . '" konnte nicht in ' . $root . ' gefunden!';
        }
        else {
            header('Content-Type: ' . $type);
            echo base64_decode(IPS_GetMediaContent($mid));
        }
    }
    else {
        header('HTTP/1.0 404 Not Found');
        echo 'Kein Medienobjekt angefordert!';
    }
}

… und dann kann man via …

/hook/xyz?root=123456&name=medienname&type=image/jpg

Bilder abholen.

Gruß Heiko

Danke @pitti für das Skript mit dem Webhook. Ich habe das jetzt für mich in das Sonnengang-Skript eingebaut (inkl. Passwortabfrage im Webhook-Skript) und es läuft super. Wenn es jemand braucht, kann ich diese Version (am besten über Heiko, oder?) weiterleiten.

1 „Gefällt mir“