[Modul] openHASP

Update 0.5

  • Beschriftung von LineMeter wird nun angezeigt
  • Symbol in String wird nun direkt angezeigt
  • Skript zum Abfangen von Events eigener Elemente

Beispiel für das „Nachricht empfangen Script“:

$data = json_decode($_IPS['Data']);

if($data->Topic=="p1b10" && $data->Data->event=="down")
{
    IPS_LogMessage("Nachricht empfangen Script","Button Page 1 ID 10 gedrückt");
}
2 „Gefällt mir“

Wie bekomm ich da denn formatierten Wert rein? Ein fester Text bringt mir da nicht viel, würde dort gern den aktuellen Wert mit Suffix anzeigen?

Ah ok
Kann man den auch über nen Befehl setzen? :thinking:
value ist ja nur der Ausschlag davon.

Einfach den „value_str“ setzen, per Variable? Kann ja die gleiche wie beim Value sein, sollte nur Formatiert sein? Also in Symcon „GetValueFormated“ oder so?
Oder über eine zweite Variable, dann kann ich eine String Variable angeben und mir den Anzeige Wert da selber zusammen bauen?

image

Du kannst nun einfach wie bei einem Label auch mit einem Platzhalter arbeiten.
Hier ist die Beschreibung z.B.:
Power %d %%

1 „Gefällt mir“

Ah, super, damit komm ich klar! Danke!

Hab jetzt meine Ansicht komplett übers Modul nachgebaut und kann ab Seite zwei dann simple Buttons einbauen :slight_smile:
image

4 „Gefällt mir“

So mein Teil kam gestern, aber noch nichts gemacht!

Kann man solche Seiten wie Deine als Template irgendwie austauschen?

Gruß Heiko

Glaube nicht über das Modul. Da hängt auch noch ein Script für die Farben der Symbole hinter, dafür muss man dann erst noch die ID des Labels rausfinden…
Und aktuell rechne ich per Script auch noch Werte in String um, da ich bis gerade nicht wusste, das man in der Beschriftung mit %d usw. arbeiten kann :smiley:

Den Code von der Übersicht selbst gibt’s hier weiter oben im einem Beitrag, den kann man direkt in die pages.jsonl packen.

1 „Gefällt mir“

Bei mir wird im Display die Uhrzeit um 2h falsch angezeigt. Scheint nach UTC zu gehen. Kann man da was machen?

Sonst - Hammer geiles Modul und Display :smiley:

Gruß Heiko

Configuration-> Time Settings. Zeitzone dort richtig eingestellt?

1 „Gefällt mir“

Man, man - ich muss noch viel lesen :slight_smile:

Danke

Noch mal eine Nachfrage. Wenn ich über den File Editor die pages.json anschaue dann sieht die immer unverändert aus …

{
    "page": 1,
    "id": 10,
    "w": 240,
    "obj": "label",
    "text": "%hostname%"
}

Ist das korrekt? Wo werden die geschriebenen Infos dann gespeichert?

Gruß Heiko

PS: Zeit jetzt korrekt :slight_smile:

Die werden vom Symcon-Modul nach dem Neustart automatisch geschrieben.

Ich habe in der pages.json jedoch folgende Daten drin. Dann bekommt man beim starten alle Infos angezeigt und sieht vielleicht auch wo etwas hängt:

{"page":1,"id":11,"obj":"label","x":00,"y":00,"h":40,"w":440,"text":"Symcon Display","align":1,"bg_color":"#FC3E50","text_color":"#32C9AC"}
{"page":1,"id":1,"obj":"label","x":20,"y":50,"h":40,"w":200,"text":"Hostname:","align":0,"bg_color":"#FC3E50","text_color":"#FFFFFF"}
{"page":1,"id":2,"obj":"label","x":220,"y":50,"h":40,"w":260,"text":"%hostname%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":3,"obj":"label","x":20,"y":100,"h":40,"w":200,"text":"IP:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":4,"obj":"label","x":220,"y":100,"h":40,"w":260,"text":"%ip%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":5,"obj":"label","x":20,"y":150,"h":40,"w":200,"text":"Model:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":6,"obj":"label","x":220,"y":150,"h":40,"w":260,"text":"%model%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":7,"obj":"label","x":20,"y":200,"h":40,"w":200,"text":"Version:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":8,"obj":"label","x":220,"y":200,"h":40,"w":260,"text":"%version%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":9,"obj":"label","x":20,"y":250,"h":40,"w":200,"text":"SSID:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":10,"obj":"label","x":220,"y":250,"h":40,"w":260,"text":"%ssid%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
1 „Gefällt mir“

wolltest du ja nicht :rofl:

Ich schreibe die JSONL Strings bei jedem Bildschirm einschalten und Online kommen und lösche sie beim ausschalten. Da gab es irgendwo bei openHASP eine Diskussion wegen „einbrennen“.

Das sorgt auch dafür, das die angezeigten Werte immer korrekt sind. Durch die ganzen Übertragungswege hatte ich vereinzelt falsche Werte auf dem Display.

Z.B.

$content0 = 'jsonl 
    {"page":0,"id":8,"obj":"btn","x":0,"y":0,"w":480,"h":48,"bg_color":"#666666","radius":0, "enabled":0}
    {"page":0,"id":1,"obj":"label","text_color":"#FFFFFF","x":1,"y":1,"h":38,"w":224,"text":"HomeControl","align":"left", "enabled":0, "text_font":32}
    {"page":0,"id":9,"obj":"label","text_color":"#FFFFFF","x":401,"y":1,"h":38,"w":78,"text":"00:00","template":"%H:%M","align":"right","bg_grad_dir":0,"bg_opa":0, "enabled":0, "text_font":32}

und dann mit allem anderen

OHASP_SendCommand(49852, $content0);

Ich habe mir dafür eine Funktion RedrawDisplay() gebaut, die das bei Bedarf entsprechend macht.

Ich nutze nur die Funktionen des Moduls und mache das Design selber. Die angelegten Variablen helfen dabei aber auch :wink: .

1 „Gefällt mir“

Die IP wird bei mir nicht angezeigt.

{"page":1,"id":11,"obj":"label","x":00,"y":00,"h":40,"w":440,"text":"Symcon Display","align":1,"bg_color":"#FC3E50","text_color":"#32C9AC"}
{"page":1,"id":1,"obj":"label","x":20,"y":50,"h":40,"w":200,"text":"Hostname:","align":0,"bg_color":"#FC3E50","text_color":"#FFFFFF"}
{"page":1,"id":2,"obj":"label","x":220,"y":50,"h":40,"w":260,"text":"%hostname%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":3,"obj":"label","x":20,"y":100,"h":40,"w":200,"text":"IP:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":4,"obj":"label","x":220,"y":100,"h":40,"w":260,"text":"%ip%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":5,"obj":"label","x":20,"y":150,"h":40,"w":200,"text":"Model:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":6,"obj":"label","x":220,"y":150,"h":40,"w":260,"text":"%model%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":7,"obj":"label","x":20,"y":200,"h":40,"w":200,"text":"Version:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":8,"obj":"label","x":220,"y":200,"h":40,"w":260,"text":"%version%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":9,"obj":"label","x":20,"y":250,"h":40,"w":200,"text":"SSID:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":10,"obj":"label","x":220,"y":250,"h":40,"w":260,"text":"%ssid%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}

richimaint

Bei mir wird sie angezeigt, ich sehe keinen Fehler bei dir.

In der online.cmd ist Folgendes

jsonl {"page":0,"id":239,"obj":"msgbox","text":"%ip%","auto_close":5000}

kommt die Messagebox bei dir nach dem Start?

Ja die IP wird nicht immer aktualisiert.

du kannst in der online.cmd die Ziele ergänzen. dann wird es auch richtig aktualisiert :slight_smile:

jsonl {"page":1,"id":4,"obj":"label","x":220,"y":100,"h":40,"w":260,"text":"%ip%","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
1 „Gefällt mir“

Das fehlte, Danke

richimaint

Ich habe aktuell noch das Problem, dass ich bei der Temperatur „°C“ hinzugefüht habe und das Grad verschwindet ab und zu.


Einstellung sieht folgendermaßen aus:

richimaint