[Modul] Raumdisplay (RoomDisplay)

Hallo @pitti , das klappt ganz toll.

  1. Denkst du lässt sich bzgl. des Wunsches vom 15.4. evtl. was machen?
  2. Du gehts eigentlich immer davon aus dass die „Steuerdatei“ die „pages.jsonl“ ist? Ein Szenario wie in Handle Offline State - openHASP beschrieben lässt sich dann ja nicht wirklich nachbauen.
    Oder hättest du eine Idee?
    Ich möchte keine Relais schalten aber falls das WLAN nicht da ist einen entsprechenden Text ausgeben bzw. was mir sonst noch so einfällt.
    Liebe Grüße aus dem verregneten Österreich, Hans
  1. lässt sich doch problemlos über die Konfiguration umsetzen, dass hat doch nichts mit dem Modul zu tun.

Falls ich nichts übersehe:
Gestartet wird mit der pages.jsonl. Sobald online wird eine beliebige andere z.b. pages_online.json geladen.
In dieser befindet sich aber der Hauptteil der Darstellung.
Und diese kann das Modul mit seinen vielfältigen Funktionen nicht laden weil ichs nirgendwo im Modul definieren kann.

Bin aber für jede Art von Überzeugungsbeispielen offen.

Wie @ralf schreibt ist das ja konfigurierbar, mit welcher JSON gestartet wird …

image

kann man ja auch als start.jsonl definieren und dann wenn online die pages.jsonl laden!

Dein Wunsch vom 15.4. wird wohl erstmal nichts, klingt nach ner kleinen Sache - wäre aber ein kompletter Umbau des Moduls (Logik).

Gruß Heiko

Alles klar und verstanden!

Ich lade genau wie Heiko schreibt eine pages_start.jsonl

{
    "page": 1,
    "id": 10,
    "x": 50,
    "y": 30,
    "w": 400,
    "obj": "label",
    "text": "%hostname%"
}
{
    "page": 1,
    "id": 20,
    "x": 50,
    "y": 80,
    "w": 400,
    "obj": "label",
    "text": " warten auf IP und Symcon!"
}

Die wird angezeigt, bis die „Haupt“ pages.jsonl geladen wird. Dort starte ich mit einer Seite, die nur gezielt angezeigt wird, nicht beim Blättern ausgewählt und nach einer Zeit springe ich auf meine Standardstartseite.

Diese „Technik Info“ Seite liegt auch auf meinem Homebutton beim lange Drücken.

{"comment":"----- Status Seite -----"}
{"page": 12,"id": 1,"x":5,"y": 56,"w": 400,"obj": "label","text": "Warten auf IP und  Symcon!", "text_color":"#fb8c00"}
{"page":12,"id":10,"obj":"label","text_color":"#FFFFFF","x":5,"y":110,"h":38,"w":120, "text":"IP:","align":"left"}
{"page":12,"id":11,"obj":"label","text_color":"#FFFFFF","x":125,"y":110,"h":38,"w":350, "text":"---","align":"left"}
{"page":12,"id":20,"obj":"label","text_color":"#FFFFFF","x":5,"y":160,"h":38,"w":120,"text":"Name:","align":"left"}
{"page":12,"id":21,"obj":"label","text_color":"#FFFFFF","x":125,"y":160,"h":38,"w":350,"text":"%hostname%","align":"left"}
{"page":12,"id":30,"obj":"label","text_color":"#FFFFFF","x":5,"y":210,"h":38,"w":120,"text":"WLAN:","align":"left"}
{"page":12,"id":31,"obj":"label","text_color":"#FFFFFF","x":125,"y":210,"h":38,"w":350,"text":"%ssid%","align":"left"}
{"page":12,"id":40,"obj":"label","text_color":"#FFFFFF","x":5,"y":260,"h":38,"w":120,"text":"Model:","align":"left"}
{"page":12,"id":41,"obj":"label","text_color":"#FFFFFF","x":125,"y":260,"h":38,"w":350,"text":"%model%","align":"left"}
{"page":12,"id":50,"obj":"label","text_color":"#FFFFFF","x":5,"y":310,"h":38,"w":120,"text":"Version:","align":"left"}
{"page":12,"id":51,"obj":"label","text_color":"#FFFFFF","x":125,"y":310,"h":38,"w":350,"text":"%version%","align":"left"}
2 „Gefällt mir“

Hallo Ralf, hallo Pitti
habt ihr das mit FTP Übertragung von Bildern mal ausprobiert?
Funktioniert das mit png Bilder, Größen Begrenzung ?
Wäre ganz gut, wenn es funktioniert !?

Das funktioniert nicht ganz, weil ich nicht weiß wo ich die Datei *.txt hinlegen muß, in welches Verzeichnis im Raspi ?
Er meckert nur, weil test.txt nicht gefunden wurde…

$address = "ftp://user:password@192.168.x.x/test.txt";  // war = "ftp://my-user:password@localhost/test.txt";
$content = file_get_contents($address);

Laut Ki soll auch das Umwandeln eines jpg - Files in png -File möglich sein, wenn die
PHP-Erweiterung gd im System ist .
Das könnte eine super Erweiterung sein…
Edit: Danke Michael, die Ki schreibt dieses Script:

<?php

$jpg_image_path = 'image.jpg'; // Pfad zum JPG-Bild
$png_image_path = 'image.png'; // Pfad für das PNG-Bild

// JPG-Bild laden
$jpg_image = imagecreatefromjpeg($jpg_image_path);

// Bildgröße ermitteln
$width = imagesx($jpg_image);
$height = imagesy($jpg_image);

// Neues PNG-Bild erstellen
$png_image = imagecreatetruecolor($width, $height);

// Hintergrundfarbe (optional)
$background_color = imagecolorallocate($png_image, 255, 255, 255); // Weiß
imagefill($png_image, 0, 0, $background_color); // Hintergrund füllen

// JPG-Bild auf PNG-Bild kopieren
imagecopyresampled($png_image, $jpg_image, 0, 0, 0, 0, $width, $height, $width, $height);

// PNG-Bild speichern
if (file_exists($png_image_path)) {
    unlink($png_image_path); // Alte Datei löschen
}
imagepng($png_image, $png_image_path); // PNG-Datei speichern

// Bildressourcen freigeben
imagedestroy($jpg_image);
imagedestroy($png_image);

echo "JPG-Bild erfolgreich in PNG konvertiert.";

?>

Die gd Erweiterung von php ist imho bei Symcon dabei.
Michael

Ich teste scheinbar gerade die Performance-Grenzen des Displays, ca. 24 Werte-Updates in einer Sekunde führen dazu, dass die Werte nicht mehr aktualisiert werden.

Damit sind wohl viele Solar-Werte nicht so optimal darstellbar.

Schalten funktioniert noch.

Update:
Ist wohl eher Error 40 bzw. eine ungünstige Parameter-Kombination :open_mouth: .

Das Display sendet „long“, allerdings habe ich den Schalter für die „Hintergrundbeleuchtung …“ aus, aber „Im Ruhezustand keine Syncronisation“ an.

Mit „Im Ruhezustand keine Syncronisation“ aus klappt es, also eher Error 40 :see_no_evil:.

1 „Gefällt mir“

Die neue Version 3.8.20250515 ist jetzt als STABLE verfügbar!

Danke & Gruß
Heiko

1 „Gefällt mir“

Ich möchte gerne in einem Switch-Button die Werte von Variable-A anzeigen und über den Button selbst eben Variable-B schalten.
Die Werte der Variablen-A sollen je nach Schalterstellung in einer anderen Farbe dargestellt werden.
Das Schalten selbst stellt kein Problem dar.
Schaffe ich das überhaupt irgend wie?
Durch Übereinanderlegen von Label und Button vielleicht?
Oder muss das mittels WWXRD_SendCommand realisiert werden ?
Danke euch.

Würde ich wahrscheinlich irgendwie über eine Hilfsvariable mit Event lösen, wenn ich es überhaubt richtig verstanden habe was da passieren soll :slight_smile:

Sollte über über Formatierung funktionieren.

Gruß Heiko

Hallo Heiko,
Beispielszenario:
stell dir einen Heizstab vor welcher über einen Schütz angesteuert wird (Variable-B).
Und dann hast du noch die Temperaturwerte.
Die Temperaturwerte sollen dargestellt werden.
Über den Button wird der Heizstab ein- bzw. ausgeschaltet.
Je nachdem ob der Heizstab ein- oder ausgeschaltet ist soll die Farbe der Temperatur grün- bzw. rot sein.
Mir wäre nicht klar wie ich das mit Formatierung hinbekomme - ich kann doch immer nur aufgrund der eigenen Variablen (also z.b. der Temperatur) formatieren ?

Danke, Hans

Verstehe (glaube ich :smiley: )

Wenn alles über einen Button laufen soll/muss, also …

  • ein Button-Lösung
  • Beschriftung des Buttons soll Temperatur sein
  • Farblicher hintergrund je nach Schaltzustand
  • d.h. es kann für ein und dieselbe Temperatur einen grünen und roten Button geben (an/aus)

Adhoc, hätte ich da nur einen Ansatz:

  • Float-Profil mit negativen Werten (Temperaturen) für z.B. ausgeschalten
  • und positevn Wertebereich für eingeschaltete

Diese Hildvariable wird über Variable-A(Temperatur) und Variable-B(Heizstab AN/AUS) getriggert.

Die hänge ich dann ins Modul und formatiere entsprechend die Farben und die Beschriftung via abs() (Absolut-Funktion). Bei der Rückgabe würde ich über die Erweiterten Einstellungen - mit Skript gehen!
Das Event abfangen und verarbeiten!

Gruß Heiko

Korrekt verstanden :slight_smile:
Wär so ähnlich auch meine Idee gewesen - vielleicht eine Spur komplizierter.
Das mit den erweiterten Einstellungen und Script muss ich mir noch reinziehen.

Ich habe nun erstmalig versucht ‚{{fmt}}‘ einzusetzen.

Leider klappt dies nicht wie erhofft.
Die zugrunde liegende Variable ist von OpenWeatherMap und betrifft die Regenwahrscheinlichkeit.

In der Verwaltungsconsole werden „32 %“ dargestellt.
Am Display erhalte ich jedoch nur „32“.
Woran kann dies liegen ?

Schick bei solchen Anfragen bitte immer die entsprechende Zeile von der Konfig mit (Screen).
Sonnst wird es schwer Dir zu helfen.

Gruß Heiko

Hallo Heiko,

Ich habe dies in meiner Anfrage nachgetragen.
Genügt dies ?

Warum machst Du das bei einem Label bei Wert rein und nicht bei Beschriftung???

Wenn ich´s bei Beschriftung rein gebe und sonst alles frei lasse dann habe ich gar keine Anzeige.