ah ok
Habe mich echt schon gewundert woran es noch liegen kann. Läuft eigenlich alles Plug and Play und recht stabil
Ich schaue mal ob ich das irgendwo noch in die Doku aufnehmen muss
ah ok
Habe mich echt schon gewundert woran es noch liegen kann. Läuft eigenlich alles Plug and Play und recht stabil
Ich schaue mal ob ich das irgendwo noch in die Doku aufnehmen muss
Wie kann ich bei einem Button oder Label die Hintergrundfarbe ändern?
Für das Feedback beim Status von Lampen setze ich den Toggle-Button ein. Das klappt prima und ich kann das Licht auch schalten.
Bei dem Status von Fenstern macht das keinen Sinn - die Anzeige ist zwar korrekt, aber beim Auslösen wird das Fenster ja nicht geschlossen.
Wie kann ich in Abhängigkeit einer Bool-Variablen die Hintergrundfarbe eines Labels oder eines Buttons ändern?
Ich verwende nur automatisch erzeugte UI-Elemente…
Aktuell besteht die Möglichkeit ein Label zu nutzen und eine String-Variable als Hilfsvariable anzulegen.
Da kannst du auch mit Farbe und Symbol arbeiten
Die Hilfsvariable kannst du dann so setzen:
<?php
$FensterZustand = GetValue(/* Fenster variable */);
if($FensterZustand)
{
SetValue(/* Hilfsvariable */,"#00FF00 \uF11E Fenster ZU");
}
else
{
SetValue(/* Hilfsvariable */ ,"#FF0000 \uF11E Fenster AUF");
}
Das UI-Element im Modul kannst du dann entsprechend so anpassen wie du es möchtest.
An den Parametern kann man sich natürlich auch ausleben
Danke, für den Hinweis - aber die Lösung gefällt mir nicht so sehr, weil ich mit einem Blick die Stati aller Fenster überblicken (… und nicht lesen…) will.
Ich habe die letzten Tage lang nach einer Lösung gesucht und diese Funktion dann erstellt:
Ich übergebe die ID der Variablen mit dem Status und die Adresse des OpenHASP-Elementes und der Sendcommand färbt den Button ein.
// Button rot/grün färben
function Status_setzen($ID, $Adresse)
{
$Status = Getvalue($ID);
$Object = $Adresse;
// immer setzen
OHASP_SendCommand(44889,$Object.'.bg_opa=255'); // Hintergrund nicht durchsichtig
OHASP_SendCommand(44889,$Object.'.border_color=#FFFFFF'); // Umrandung weiss
if ($Status)
{
//Echo "Rot";
OHASP_SendCommand(44889,$Object.'.bg_color=#FF0000'); // Anzeigestatus
OHASP_SendCommand(44889,$Object.'.bg_color02=#FF0000'); // pressed Status
OHASP_SendCommand(44889,$Object.'.bg_grad_color=#FF0000'); // 2.Farbe
OHASP_SendCommand(44889,$Object.'.bg_grad_color02=#FF0000'); // pressed 2.Farbe
}
else
{
//Echo "Grün";
OHASP_SendCommand(44889,$Object.'.bg_color=#008000'); // Anzeigestatus
OHASP_SendCommand(44889,$Object.'.bg_color02=#008000'); // pressed Status
OHASP_SendCommand(44889,$Object.'.bg_grad_color=#008000'); // 2.Farbe
OHASP_SendCommand(44889,$Object.'.bg_grad_color02=#008000'); // pressed 2.Farbe
}
return;
}
z.B.:
// Button in Abhängigkeit des Status setzen
Status_setzen(29260,'p1b3'); // OG-Bad
Kann man optisch schöner machen, aber mir reicht es so.
Hallo @firebuster
vorerst Danke - Danke - Danke für das tolle Modul.
Was mich reizen würde:
Gibt es eine Möglichkeit die erste Zeile - also jene mit Datum und Uhrzeit zu beeinflussen?
Ich benötige z.b. die beiden Symbole nicht und auch anstelle von 27.01.2025 könnte 27.01.25 oder nur 27.01. stehen.
Dafür würde ich noch gerne ein paar Status „LED´s“ reinbekommen und auch den aktuellen „PV Ertrag“ bzw. Verbrauch.
Wäre dies möglich ?
Ohne es ausprobiert zu haben sollte folgende funktionieren:
In dem Script kannst du dann mit „OHASP_AddObject“ deine Elemente selbst einfügen.
OHASP_AddObject(42113,'{"page":0,"id":1,"obj":"label","x":00,"y":350,"h":40,"w":480,"text":"Symcon Display '.date("H:i:s"). '","align":1,"bg_color":"#FC3E50","text_color":"#32C9AC"}');
Hier am Beispiel von einem Label aber geht natürlich genau so gut mit allem anderen.
Natürlich musst du dich dann auch ggf. um eine Aktualisierung selbst kümmern.
Entweder über „Manuelles Verknüpfen der Daten“ in der Instanz oder den Befehl SetItemValue(12345,1,5,intval(true));
Danke,
aber könnte mich jemand an der Hand nehmen?
Ich habe ein Script erstellt.
Wenn ichs manuell starte dann überlagert es wohl die erste Zeile, die ursprüngliche Headerzeile wird aber nicht ausgeblendet.
Wie ist das mit „DisplayInhaltSchreibenScript“ gemeint? Sollte so mein Script heißen ?
→ Ah - evtl. „Datum & Uhrzeit im Header“ abschalten ?
Ja genau du musst natürlich die Uhrzeit in der Instanz ausschalten.
Hallo Zusammen, ist es möglich auch Kamerastreams in dem Display anzuzeigen?
nein, nur Bilder (mit etwas Aufwand)
Das Problem habe ich auch gehabt. Ursache sind die Zeilen 757 und 758 der module.php. Die müssten bei benutzerdefinierten Profilen lauten:
$var = IPS_GetVariable($element['Object']);
$profile = IPS_GetVariableProfile($var["VariableCustomPresentation"]["PROFILE"]);```