Startseite Unterschiede Basic / Pro Installation/Schnelleinstieg Support Forum Dokumentation Icons Sounds Hintergrundmuster Beispiele Changelog Blog / News Galerie
HomeStatus Display

Images aus dem Web im HomeStatus Pro darstellen

Neu ab Version 45 (nur in der Pro Version):

Einfach beliebige Grafiken aus dem Intra/Internet auf dem Homestatus Display Pro darstellen.

– Fotos
– Radar-Gifs (Regenradar, Wettervorhersage)
– Charts (z. B. Google API)

Der IMG Tag wurde erweitert

{img:[url],[refresh in Sekunden],[Skalierung z. B. 640x320]}";

Beispiel: Vier Historian Charts auf dem HomeStatus Display Pro darstellen:

var A1 = dom.GetObject("hs_display1:A1");
var string = "{text:none}{img:http://192.168.1.2/query/trend.gy?i=220,300,320x240}";
A1.State(string);

var A2 = dom.GetObject("hs_display1:A2");
var string = "{text:none}{img:http://192.168.1.2/query/trend.gy?i=25,300,320x240}";
A2.State(string);

var B1 = dom.GetObject("hs_display1:B1");
var string = "{text:none}{img:http://192.168.1.2/query/trend.gy?i=229&d=1W,300,320x240}";
B1.State(string);

var B2 = dom.GetObject("hs_display1:B2");
var string = "{text:none}{img:http://192.168.1.2/query/trend.gy?i=25,300,320x240}";
B2.State(string);

Screenshot_Historian_Charts

Codebeispiel: Videostream in Grid anzeigen

Videostreams können auch in einem Feld angezeigt werden. Hier ist ein Beispiel für einen Videostream im Feld D1 (4. Spalte, 1. Zeile), das mit einem Klick den Videostream auf dem Alarmscreen öffnet.

var D1 = dom.GetObject("hs_display4:D1");
var string = "{videoStream:http://addresse.des.videostreams.de}{videostreamwidth:180}{videostreamheight:120}{text:<b>CCTV</b><br><br>Eingang }{action:BidCoS-RF:3,PRESS_SHORT} ";
D1.State(string);

BidCoS-RF:3 (Name ist: „HSD4:Alarmscreen mit Kamera Eingang“) ist eine virtuelle Taste aus der CCU2.

Auf der virtuellen Taste liegt ein Programm, dass beim auslösen dieser virtuellen Taste die Variable display4_alarm befüllt und somit den Alarmscreen aktiviert.

 

Alarmscreen aufrufen

In die Variable wird dann folgendes geschrieben:

„{status:on}{videoStream:addresse.des.videostreams.de}{videostreamwidth:1000}{videostreamheight:740}{text:Kamera Eingang}{action:BidCoS-RF:1,PRESS_SHORT}“

BidCoS-RF:1 ist dann wieder eine virtuelle Taste die dann über ein ähnliches Programm die Variable hsdisplay4_alarm: mit „{status:off}“ befüllt.

 

 

 

Codebeispiel:Regelung der Lautstärke dem Android Gerät überlassen

Wenn über die options Parameter eine Lautstärke bei volume eingestellt wird, versucht die App die Lautstärke auf diesem Level zu halten, Usereingaben werden wieder überschrieben.
Um die Kontrolle der Lautstärke beim Gerät zu belassen muss folgender Steuerbefehl über die options Variable an das Gerät gesendet werden:

var options = dom.GetObject("hs_display1_options");
var string = "{volume:none}";
options.State(string);

Codebeispiel: Alarm mit Sound

Den Alarmscreen einschalten:

var alarm = dom.GetObject("hs_display1_alarm");
var string = "{status:on}{sound:tos-redalert.mp3}{text:Alarmstufe ROT!}";
alarm.State(string);

 

Alarmscreen ausblenden und Alarmsound ausschalten:

var alarm = dom.GetObject("hs_display1_alarm");
var string = "{status:off}";
alarm.State(string);

Codebeispiel: Windrichtung aus Wetterstation anzeigen (in Grad)


Das Script überträgt den Wert aus der Wetterstation (Windrichtung) in die Variable für die Zelle A4 auf dem HomeStatus Display:

var A4 = dom.GetObject("hs_display1:A4");
var wind = dom.GetObject("BidCos-RF.KEQ1057520:1.WIND_DIRECTION").Value().ToInteger();
var string = "{img:weathercock_128.png}{fontSize:30}{text:" + wind;
var stringA4 = string + "°}";
A4.State(stringA4);
WriteLine(stringA4);

Codebeispiel: Sound abspielen

Über ein Homematic Programm wird die Öffnung/Schließung der Haustür abgefragt (Fensterkontakt):

screenshot haustuer

Script: Öffnen der Haustür

var sound = dom.GetObject("hs_display1_sound");
var string = "{say_de:Die Haustuer wurde geoeffnet}";
sound.State(string);
var B2 = dom.GetObject("hs_display1:B2");
var string = "{img:door2_open_128.png}{fontSize:20}{color:red}{text:Haustuer offen}";
B2.State(string);
Script: Schließen der Haustür
var sound = dom.GetObject("hs_display1_sound");
var string = "{say_de:Die Haustuer wurde geschlossen}";
sound.State(string);
var B2 = dom.GetObject("hs_display1:B2");
var string = "{img:door2_128.png}{fontSize:20}{color:green}{text:Haustuer geschlossen}";
B2.State(string);

Codebeispiel: Initialisierung

Um nach einem Zentralenneustart (CCU) das Display zu konfigurieren ist es gut wenn man ein Script zur Initialisierung schreibt:

Ohne Bedingung wird das Programm beim Zentralenneustart ausgeführt.

screenshot init

var options = dom.GetObject("hs_display1_options");
var string = "{margin:3,3,20,3}{backgroundColor:#121212}{width:100}{color:white}";
options.State(string);

 

In dieses Script kann man auch schon die Platzhalter für die später dynamisch angesprochenen Elemente einfügen:
Ein Beispiel mit statischen Platzhaltern:

var options = dom.GetObject("hs_display1_options");
var string = "{margin:3,3,20,3}{backgroundColor:#121212}{width:100}{color:white}";
options.State(string);

var A1 = dom.GetObject("hs_display1:A1");
var string = "{img:temp_128.png}{fontSize:30}{color:blue}{text:Außen 14°C}";
A1.State(string);

var A2 = dom.GetObject("hs_display1:A2");
var string = "{img:rain_volume_128.png}{fontSize:30}{text:20mm}";
A2.State(string);

var A3 = dom.GetObject("hs_display1:A3");
var string = "{img:wind_way_128.png}{fontSize:30}{text:10km/h}";
A3.State(string);

var A4 = dom.GetObject("hs_display1:A4");
var string = "{img:weathercock_128.png}{fontSize:30}{text: NNO}";
A4.State(string);

var B1 = dom.GetObject("hs_display1:B1");
var string = "{img:window1_open_128.png}{fontSize:20}{text:Fenster Bad offen}";
B1.State(string);

var B2 = dom.GetObject("hs_display1:B2");
var string = "{img:door2_open_128.png}{fontSize:20}{color:red}{text:Haustuer offen}";
B2.State(string);

var B3 = dom.GetObject("hs_display1:B3");
var string = "{img:roll_0_128.png}{fontSize:20}{text:Rollladen: offen}";
B3.State(string);

var B4 = dom.GetObject("hs_display1:B4");
var string = "{img:garage_128.png}{fontSize:20}{text:Garage geschlossen}";
B4.State(string);

var C1 = dom.GetObject("hs_display1:C1");
var string = "{img:electricty_counter_128.png}{fontSize:20}{text:heute 25kw/h gestern 33kw/h vorgestern 22kw/h}";
C1.State(string);

var C2 = dom.GetObject("hs_display1:C2");
var string = "{img:gas_counter_128.png}{fontSize:20}{text:heute 0,53m³ gestern 0,23m³ vorgestern 0,44m³}";
C2.State(string);

var C3 = dom.GetObject("hs_display1:C3");
var string = "{img:washmachine_128.png}{fontSize:20}{text:Waschen fertig}";
C3.State(string);

var C4 = dom.GetObject("hs_display1:C4");
var string = "{img:pump_128.png}{fontSize:20}{text:Umwälzpumpe aus}";
C4.State(string);

var D1 = dom.GetObject("hs_display1:D1");
var string = "{img:alarm1_128.png}{fontSize:20}{text:Alarmanlage unscharf}";
D1.State(string);

var D2 = dom.GetObject("hs_display1:D2");
var string = "{img:house1_128.png}{fontSize:20}{text:letzte Bewegung im Wohnzimmer}";
D2.State(string);

var D3 = dom.GetObject("hs_display1:D3");
var string = "{img:entrance_gate_open_128.png}{fontSize:20}{color:red}{text:Gartentor offen}";
D3.State(string);

var D4 = dom.GetObject("hs_display1:D4");
var string = "{img:garden_128.png}{fontSize:20}{text:Bewässerung Stufe 3}";
D4.State(string);