HM-Dis-WM55

Ich heute auch. Hat ne halbe Stunde inkl. Auspacken gedauert. Lötkolben war schon vorbereitet, nur die Post war heute später dran als gewöhnlich (Vorweihnachtszeit).
Als Verwendungszweck… innen neben der Haustür als Statusanzeige finde ich die Idee ganz gut und hübsch. Auch das die Anzeige nicht ständig leuchtet und nur auf Tastendruck Rückmeldung gibt. Nur muss sie jetzt noch sinnvoll in IPS eingebunden werden.

Irgendwie stehe ich auf der Leitung.

Wie kann den Wert einer IPS-Variablen in die CCU2 bringen, um sie im HM-Dis-WM55 auf Tastendruck über das in der CCU laufende Programm anzuzeigen?

Werte, die in der CCU sind (z.B. aus Heizungsventil HM-CC-VG-1 I) sind ja kein Problem.
Muss ich da eine Systemvariable nutzen oder gibt es da einen anderen Weg? --oder etwa gar keinen:mad:

Ich schreibe z.Z. einfach einen String (HexString für Submit) per IPS in eine/mehrere Systemvariablen der CCU.
Dort ist ein Programm welches bei Tastendruck ein dreizeiler Script ausführt. Dieses Script nimmt den Inhalt der Systemvariable und sendet ihn an die Anzeige.
Noch eher eine Krücke, umgeht aber den Bug des XML-RPC.

Um Werte von IPS zur CCU zu bekommen gibt es im Wiki zwei Scripte.
Alternativ hier noch ein natives Modul:
http://www.ip-symcon.de/forum/showthread.php?t=24633
Michael

Danke dir, das löst den Knoten!:slight_smile:

Ich als Anfänger hätte da lediglich 2 Fragen:
Verstehe ich richtig, dass ich mit dem LAN Adapter da nicht weit komme?

Gibt es den Schalter auch als Fertigteil?

Auch als Anfänger kann man doch lesen und deuten, was bei ELV steht :eek:
„Gerät kann nur in Verbindung mit der HomeMatic Zentrale CCU2 betrieben werden“

Dort sieht man auch am schnellsten, ob es ein Fertiggerät gibt. Z.B. hier steht ganz rechts ein Reiter … „Zeit …“

also, beim Display kein Fertiggerät (mal bisher).

Gruß
Bruno

Halo,

ich möchte meinen Vorrednern und vor allem den Kollegen im Nachbarforum für die Analyse des Protokolls danken. Wer sich bei EQ3 so einen Mist ausgedacht hat ist mir zwar nicht bekannt, aber es ist schon eine seltsame Umsetzung.

Ich habe mich nun erstmals mit Systemvariablen und Programmen in der CCU beschäftigt und eine Lösung auf der Beschreibung von Michael umgesetzt.

Voraussetzung: Das Homematic-Modul von Michael ist installiert, in der CCU ist eine Systemvariable vom Typ „Zeichenkette“ angelegt. Deren Name wird in das Skript weiter unten eingetragen.

Ich habe eine Funktion geschrieben, die die Daten aus einem Array in die Systemvariable der CCU schreibt. Dort wird die Systemvariable bei Betätigen des Tasters gelesen und auf dem Display angezeigt.

Folgendes als HM_OLED.inc.php speichern. Die Funktion prüft, ob in einer Zeile Text ausgegeben werden soll. Wenn nein wird die Zeile leer, also nicht angezeigt. Derzeit wird dann auch kein Icon angezeigt.
Enthält eine Zeile Text, so wird die Farbe gesetzt und wahlweise das Icon angezeigt. Die Funktion wandelt den Zeichensatz in Hex um und berücksichtigt auch die unterschiedlichen Hex-Werte für unsere Umlaute:


<?


//--------------------------------
// Definition der Werte für die Icons

// 0x80 AUS       	      icon_on
// 0x81 EIN                icon_off
// 0x82 OFFEN              icon_open
// 0x83 geschlossen        icon_closed
// 0x84 fehler             icon_error
// 0x85 alles ok           icon_ok
// 0x86 information        icon_information
// 0x87 neue nachricht     icon_message
// 0x88 servicemeldung     icon_service
// 0x89 Signal grün        icon_green
// 0x8A Signal gelb        icon_yellow
// 0x8B Signal rot         icon_red
//      ohne Icon          icon_no

define ("icon_on",				"0x80");
define ("icon_off",				"0x81");
define ("icon_open",				"0x82");
define ("icon_closed",			"0x83");
define ("icon_error",			"0x84");
define ("icon_ok",				"0x85");
define ("icon_information",	"0x86");
define ("icon_message",			"0x87");
define ("icon_service",			"0x88");
define ("icon_signal_green",	"0x89");
define ("icon_signal_yellow",	"0x8A");
define ("icon_signal_red",		"0x8B");
define ("icon_no",				"");


// Definition der Werte für die Farben

// 0x80 weiss              colour_white
// 0x81 rot                colour_red
// 0x82 orange             colour_orange
// 0x83 gelb               colour_yellow
// 0x84 grün               color_green
// 0x85 blau               color_blue

define ("colour_white",			"0x82");
define ("colour_red",			"0x81");
define ("colour_orange",		"0x82");
define ("colour_yellow",		"0x83");
define ("colour_green",			"0x84");
define ("colour_blue",			"0x85");



//Zusammensetzen des String, abhängig von der Anzahl Textzeilen
//Wenn Textzeile leer ist wird auch kein Icon gesetzt!

function OLED_String($display_line,$HM_Modul_ID,$HM_Status_Variable_ID) {

		$string = "0x02";
		if ($display_line[1]['text'] != "") {
			$string .= ",0x12,".hex_encode($display_line[1]['text']).",0x11,".$display_line[1]['colour'];
			if ($display_line[1]['icon'] != ""){
				$string .= ",0x13,".$display_line[1]['icon'].",0x0A";
			} else {
			   $string .= ",0x0A";
			}
		}else {
			$string.= ",0x0A";
		}

		if ($display_line[2]['text'] != "") {
			$string .= ",0x12,".hex_encode($display_line[2]['text']).",0x11,".$display_line[2]['colour'];
			if ($display_line[2]['icon'] != ""){
				$string .= ",0x13,".$display_line[2]['icon'].",0x0A";
			} else {
			   $string .= ",0x0A";
			}
		}else {
			$string.= ",0x0A";
		}

		if ($display_line[3]['text'] != "") {
			$string .= ",0x12,".hex_encode($display_line[3]['text']).",0x11,".$display_line[3]['colour'];
			if ($display_line[3]['icon'] != ""){
				$string .= ",0x13,".$display_line[3]['icon'].",0x0A";
			} else {
			   $string .= ",0x0A";
			}
		}else {
			$string.= ",0x0A";
		}

		if ($display_line[4]['text'] != "") {
			$string .= ",0x12,".hex_encode($display_line[4]['text']).",0x11,".$display_line[4]['colour'];
			if ($display_line[4]['icon'] != ""){
				$string .= ",0x13,".$display_line[4]['icon'].",0x0A";
			} else {
			   $string .= ",0x0A";
			}
		}else {
			$string.= ",0x0A";
		}

		if ($display_line[5]['text'] != "") {
			$string .= ",0x12,".hex_encode($display_line[5]['text']).",0x11,".$display_line[5]['colour'];
			if ($display_line[5]['icon'] != ""){
				$string .= ",0x13,".$display_line[5]['icon'].",0x0A";
			} else {
			   $string .= ",0x0A";
			}
		}else {
			$string.= ",0x0A";
		}

		if ($display_line[6]['text'] != "") {
			$string .= ",0x12,".hex_encode($display_line[6]['text']).",0x11,".$display_line[6]['colour'];
			if ($display_line[6]['icon'] != ""){
				$string .= ",0x13,".$display_line[6]['icon'].",0x0A";
			} else {
			   $string .= ",0x0A";
			}
		}else {
			$string.= ",0x0A";
		}
		$string .= ",0x03";

		HM_WriteValueString($HM_Modul_ID,$HM_Status_Variable_ID,$string);
		
		echo $string ."
";

}
function hex_encode ($string)    {
        $umlaut =  array("Ä"   ,"Ö"   ,"Ü"   ,"ä"   ,"ö"   ,"ü"   ,"ß"   ,":"   );
	     $hex =     array("0xc4","0xd6","0xdc","0xe4","0xf6","0xfc","0xdf","0x3a");
		  $hex_neu = array("0x5b","0x23","0x24","0x7b","0x7c","0x7d","0x5f","0x3a");
        $encoded = bin2hex($string);
		  $string_array = str_split($encoded,2);
        foreach ($string_array as $key => $wert) {
				$string_array[$key] = "0x".$wert;
		  }
		  $return = implode(",",$string_array);
		  $return = str_replace($hex, $hex_neu, $return);
        return $return;
}



?>

Mit folgendem Gerüst lässt sich die Systemvariable aktualisieren. Oben im Skript bitte die IPS-ID des Moduls eintragen. Ferner muss dort die Modulinterne ID der Statusvariablen eingetragen werden. Diese erhält man, wenn man im Modul den Reiter „Statusvariablen“ anwählt. Die Nummer steht in der ersten Spalte.

<?

// Programm zum Beschreiben des OLED Display von Homematic
// Voraussetzung ist das Modul für Homematic von Nancilla
//

include "HM_OLED.inc.php";

define ("HM_Modul_ID",	 14428 /*[Script\Homematic-CCU\HomeMatic Systemvariablen]*/); //ID des HM Moduls, unter dem die Statusvariablen hängen
define ("HM_Status_Variable_ID",  3789); //Nummer der Statusvariablen (siehe dazu im Modul unter Statusvariablen)


//--------------------------------
// Definition der Werte für die Icons

// 0x80 AUS       	      icon_on
// 0x81 EIN                icon_off
// 0x82 OFFEN              icon_open
// 0x83 geschlossen        icon_closed
// 0x84 fehler             icon_error
// 0x85 alles ok           icon_ok
// 0x86 information        icon_information
// 0x87 neue nachricht     icon_message
// 0x88 servicemeldung     icon_service
// 0x89 Signal grün        icon_green
// 0x8A Signal gelb        icon_yellow
// 0x8B Signal rot         icon_red
//      ohne Icon          icon_no



// Definition der Werte für die Farben

// 0x80 weiss              colour_white
// 0x81 rot                colour_red
// 0x82 orange             colour_orange
// 0x83 gelb               colour_yellow
// 0x84 grün               color_green
// 0x85 blau               color_blue


// Definition des Array für die Textausgabe
//Eintrag im Muster:
//		$display_line[1] =
//			array(	'text'	=> 	'Zeile 1',
//						'icon'	=> 	icon_no,
//						'colour' =>    colour_red);
// statt 'Zeile 1' muss der anzuzeigende Text eingetragen werden.
// dies kann auch in Form von $variable erfolgen

$display_line[1] =
	array(	'text'	=> 	"Zeile1",
				'icon'	=> 	icon_open,
				'colour' =>    colour_red);

$display_line[2] =
	array(	'text'	=> 	"Zeile2",
				'icon'	=> 	icon_no,
				'colour' =>    colour_red);

$display_line[3] =
	array(	'text'	=> 	"Zeile3",
				'icon'	=> 	icon_open,
				'colour' =>    colour_orange);

$display_line[4] =
	array(	'text'	=> 	"Zeile4",
				'icon'	=> 	icon_no,
				'colour' =>    colour_orange);

$display_line[5] =
	array(	'text'	=> 	"Zeile5",
				'icon'	=> 	icon_closed,
				'colour' =>    colour_green);

$display_line[6] =
	array(	'text'	=> 	"Zeile6",
				'icon'	=> 	icon_no,
				'colour' =>    colour_green);


//print_r($display_line);


OLED_String($display_line,HM_Modul_ID,HM_Status_Variable_ID);

?>

Programm in der CCU. Hier bitte den Namen der Variablen in Zeile 2 an die eigene Variable anpassen.

Skript in der CCU:


! Systemvariable "OLED-Fenster" lesen und ans Display senden
var OLED = dom.GetObject("OLED-Fenster");


dom.GetObject("BidCos-RF." # dom.GetObject("$src$").Name().StrValueByIndex(".",1) # ".SUBMIT").State(OLED.Value());

Ich hoffe dies hilft jemandem, bei mir funktioniert es so.

Gruß
Christian

Hi Christian,

habe mal versucht deiner Anleitung zu folgen, aber leider bisher noch ohne Erfolg.

Also ich habe in meiner CCU2 eine Systemvariable erstelle.

Dann habe ich in der CCU dieses Script erstellt


! Systemvariable "OLED-Display" lesen und ans Display senden
var OLED = dom.GetObject("OLED-Fenster");


dom.GetObject("BidCos-RF." # dom.GetObject("$src$").Name().StrValueByIndex(".",1) # ".SUBMIT").State(OLED.Value());

Dann habe ich dieses Aktualisierungs Script erstellt.


 <?

// Programm zum Beschreiben des OLED Display von Homematic
// Voraussetzung ist das Modul für Homematic von Nancilla
//

include "HM_OLED.inc.php";

define ("HM_Modul_ID",     17456 /*[Hardware\HomeMatic Systemvariablen]*/;
define ("HM_Status_Variable_ID",  38009 /*[Hardware\HomeMatic Systemvariablen\Alarmanlage Aktiv?]*/);


//--------------------------------
// Definition der Werte für die Icons

// 0x80 AUS                 icon_on
// 0x81 EIN                icon_off
// 0x82 OFFEN              icon_open
// 0x83 geschlossen        icon_closed
// 0x84 fehler             icon_error
// 0x85 alles ok           icon_ok
// 0x86 information        icon_information
// 0x87 neue nachricht     icon_message
// 0x88 servicemeldung     icon_service
// 0x89 Signal grün        icon_green
// 0x8A Signal gelb        icon_yellow
// 0x8B Signal rot         icon_red
//      ohne Icon          icon_no



// Definition der Werte für die Farben

// 0x80 weiss              colour_white
// 0x81 rot                colour_red
// 0x82 orange             colour_orange
// 0x83 gelb               colour_yellow
// 0x84 grün               color_green
// 0x85 blau               color_blue


// Definition des Array für die Textausgabe
//Eintrag im Muster:
//        $display_line[1] =
//            array(    'text'    =>     'Zeile 1',
//                        'icon'    =>     icon_no,
//                        'colour' =>    colour_red);
// statt 'Zeile 1' muss der anzuzeigende Text eingetragen werden.
// dies kann auch in Form von $variable erfolgen

$display_line[1] =
    array(    'text'    =>     "Zeile1",
                'icon'    =>     icon_open,
                'colour' =>    colour_red);

$display_line[2] =
    array(    'text'    =>     "Zeile2",
                'icon'    =>     icon_no,
                'colour' =>    colour_red);

$display_line[3] =
    array(    'text'    =>     "Zeile3",
                'icon'    =>     icon_open,
                'colour' =>    colour_orange);

$display_line[4] =
    array(    'text'    =>     "Zeile4",
                'icon'    =>     icon_no,
                'colour' =>    colour_orange);

$display_line[5] =
    array(    'text'    =>     "Zeile5",
                'icon'    =>     icon_closed,
                'colour' =>    colour_green);

$display_line[6] =
    array(    'text'    =>     "Zeile6",
                'icon'    =>     icon_no,
                'colour' =>    colour_green);


//print_r($display_line);


OLED_String($display_line,HM_Modul_ID,HM_Status_Variable_ID);

?>


Und dieses HM-OLED Script


 <?


//--------------------------------
// Definition der Werte für die Icons

// 0x80 AUS                 icon_on
// 0x81 EIN                icon_off
// 0x82 OFFEN              icon_open
// 0x83 geschlossen        icon_closed
// 0x84 fehler             icon_error
// 0x85 alles ok           icon_ok
// 0x86 information        icon_information
// 0x87 neue nachricht     icon_message
// 0x88 servicemeldung     icon_service
// 0x89 Signal grün        icon_green
// 0x8A Signal gelb        icon_yellow
// 0x8B Signal rot         icon_red
//      ohne Icon          icon_no

define ("icon_on",                "0x80");
define ("icon_off",                "0x81");
define ("icon_open",                "0x82");
define ("icon_closed",            "0x83");
define ("icon_error",            "0x84");
define ("icon_ok",                "0x85");
define ("icon_information",    "0x86");
define ("icon_message",            "0x87");
define ("icon_service",            "0x88");
define ("icon_signal_green",    "0x89");
define ("icon_signal_yellow",    "0x8A");
define ("icon_signal_red",        "0x8B");
define ("icon_no",                "");


// Definition der Werte für die Farben

// 0x80 weiss              colour_white
// 0x81 rot                colour_red
// 0x82 orange             colour_orange
// 0x83 gelb               colour_yellow
// 0x84 grün               color_green
// 0x85 blau               color_blue

define ("colour_white",            "0x82");
define ("colour_red",            "0x81");
define ("colour_orange",        "0x82");
define ("colour_yellow",        "0x83");
define ("colour_green",            "0x84");
define ("colour_blue",            "0x85");



//Zusammensetzen des String, abhängig von der Anzahl Textzeilen
//Wenn Textzeile leer ist wird auch kein Icon gesetzt!

function OLED_String($display_line,$HM_Modul_ID,$HM_Status_Variable_ID) {

        $string = "0x02";
        if ($display_line[1]['text'] != "") {
            $string .= ",0x12,".hex_encode($display_line[1]['text']).",0x11,".$display_line[1]['colour'];
            if ($display_line[1]['icon'] != ""){
                $string .= ",0x13,".$display_line[1]['icon'].",0x0A";
            } else {
               $string .= ",0x0A";
            }
        }else {
            $string.= ",0x0A";
        }

        if ($display_line[2]['text'] != "") {
            $string .= ",0x12,".hex_encode($display_line[2]['text']).",0x11,".$display_line[2]['colour'];
            if ($display_line[2]['icon'] != ""){
                $string .= ",0x13,".$display_line[2]['icon'].",0x0A";
            } else {
               $string .= ",0x0A";
            }
        }else {
            $string.= ",0x0A";
        }

        if ($display_line[3]['text'] != "") {
            $string .= ",0x12,".hex_encode($display_line[3]['text']).",0x11,".$display_line[3]['colour'];
            if ($display_line[3]['icon'] != ""){
                $string .= ",0x13,".$display_line[3]['icon'].",0x0A";
            } else {
               $string .= ",0x0A";
            }
        }else {
            $string.= ",0x0A";
        }

        if ($display_line[4]['text'] != "") {
            $string .= ",0x12,".hex_encode($display_line[4]['text']).",0x11,".$display_line[4]['colour'];
            if ($display_line[4]['icon'] != ""){
                $string .= ",0x13,".$display_line[4]['icon'].",0x0A";
            } else {
               $string .= ",0x0A";
            }
        }else {
            $string.= ",0x0A";
        }

        if ($display_line[5]['text'] != "") {
            $string .= ",0x12,".hex_encode($display_line[5]['text']).",0x11,".$display_line[5]['colour'];
            if ($display_line[5]['icon'] != ""){
                $string .= ",0x13,".$display_line[5]['icon'].",0x0A";
            } else {
               $string .= ",0x0A";
            }
        }else {
            $string.= ",0x0A";
        }

        if ($display_line[6]['text'] != "") {
            $string .= ",0x12,".hex_encode($display_line[6]['text']).",0x11,".$display_line[6]['colour'];
            if ($display_line[6]['icon'] != ""){
                $string .= ",0x13,".$display_line[6]['icon'].",0x0A";
            } else {
               $string .= ",0x0A";
            }
        }else {
            $string.= ",0x0A";
        }
        $string .= ",0x03";

        HM_WriteValueString($HM_Modul_ID,$HM_Status_Variable_ID,$string);

        echo $string ."
";

}
function hex_encode ($string)    {
        $umlaut =  array("Ä"   ,"Ö"   ,"Ü"   ,"ä"   ,"ö"   ,"ü"   ,"ß"   ,":"   );
         $hex =     array("0xc4","0xd6","0xdc","0xe4","0xf6","0xfc","0xdf","0x3a");
          $hex_neu = array("0x5b","0x23","0x24","0x7b","0x7c","0x7d","0x5f","0x3a");
        $encoded = bin2hex($string);
          $string_array = str_split($encoded,2);
        foreach ($string_array as $key => $wert) {
                $string_array[$key] = "0x".$wert;
          }
          $return = implode(",",$string_array);
          $return = str_replace($hex, $hex_neu, $return);
        return $return;
}



?>

Und das ist die Struktur dazu…

Kannst du das mal kurz checken, ob ich es richtig verstanden habe???

Wo kann ich jetzt Variablen, Namen etc. ändern? :confused::confused::confused:

Hallo,

ja sieht soweit fast gut aus.

Deine Systemvariable ist vom Typ Boolean. In der CCU musst Du diese umstellen auf „Zeichenkette“. In dem Skript der CCU muss der Name der Variablen in Zeile 2 mit dem Namen Deiner Variablen übereinstimmen.

Dann bitte in IPS unter Systemvariable die Variable löschen und im Modul neu erstellen lassen. Du kannst dazu das Modul „Homematic Systemvariablen“ öffnen und auf CCU auslesen klicken.

In Deinem Aktualisierungsskript ist noch die ID der Systemvariablen falsch. Du erhältst die Richtige ID, wenn du im Modul „Homematic Systemvariablen“ den Reiter „Statusvariablen“ anwählst und dort die ID für Deine Statusvariable ausliest.

Ob die Daten in der CCU ankommen kannst Du sehen, indem Du unter „Status und Bedienung“ auf Systemvariablen gehst. Dort sollte dann ein String von Hex Zeichen drin stehen.

Ich hoffe das hilft.

Gruß
Christian

Hi Christian,

habe auf „Zeichenkette“ umgestellt.

Das Script in der CCU schaut jetzt so aus.


! Systemvariable "OLED-Display" lesen und ans Display senden
var OLED = dom.GetObject("Alarmanlage");


dom.GetObject("BidCos-RF." # dom.GetObject("$src$").Name().StrValueByIndex(".",1) # ".SUBMIT").State(OLED.Value());

In IPS habe ich die Systemvariable neu erstellen lassen.

Das Aktualisierungs Script schaut so aus.



 <?

// Programm zum Beschreiben des OLED Display von Homematic
// Voraussetzung ist das Modul für Homematic von Nancilla
//

include "HM_OLED.inc.php";

define ("HM_Modul_ID",     17456 /*[Hardware\HomeMatic Systemvariablen]*/;
define ("HM_Status_Variable_ID",  10938 /*[Objekt #10938 existiert nicht]*/);


//--------------------------------
// Definition der Werte für die Icons

// 0x80 AUS                 icon_on
// 0x81 EIN                icon_off
// 0x82 OFFEN              icon_open
// 0x83 geschlossen        icon_closed
// 0x84 fehler             icon_error
// 0x85 alles ok           icon_ok
// 0x86 information        icon_information
// 0x87 neue nachricht     icon_message
// 0x88 servicemeldung     icon_service
// 0x89 Signal grün        icon_green
// 0x8A Signal gelb        icon_yellow
// 0x8B Signal rot         icon_red
//      ohne Icon          icon_no



// Definition der Werte für die Farben

// 0x80 weiss              colour_white
// 0x81 rot                colour_red
// 0x82 orange             colour_orange
// 0x83 gelb               colour_yellow
// 0x84 grün               color_green
// 0x85 blau               color_blue


// Definition des Array für die Textausgabe
//Eintrag im Muster:
//        $display_line[1] =
//            array(    'text'    =>     'Zeile 1',
//                        'icon'    =>     icon_no,
//                        'colour' =>    colour_red);
// statt 'Zeile 1' muss der anzuzeigende Text eingetragen werden.
// dies kann auch in Form von $variable erfolgen

$display_line[1] =
    array(    'text'    =>     "Zeile1",
                'icon'    =>     icon_open,
                'colour' =>    colour_red);

$display_line[2] =
    array(    'text'    =>     "Zeile2",
                'icon'    =>     icon_no,
                'colour' =>    colour_red);

$display_line[3] =
    array(    'text'    =>     "Zeile3",
                'icon'    =>     icon_open,
                'colour' =>    colour_orange);

$display_line[4] =
    array(    'text'    =>     "Zeile4",
                'icon'    =>     icon_no,
                'colour' =>    colour_orange);

$display_line[5] =
    array(    'text'    =>     "Zeile5",
                'icon'    =>     icon_closed,
                'colour' =>    colour_green);

$display_line[6] =
    array(    'text'    =>     "Zeile6",
                'icon'    =>     icon_no,
                'colour' =>    colour_green);


//print_r($display_line);


OLED_String($display_line,HM_Modul_ID,HM_Status_Variable_ID);

?>


Und das ist eigentlich die ID der Variable, oder?

Leider zeigt mir die CCU2 gar keine Systemvariable an :confused:

EDIT: bekomme jetzt auf das Display immerhin Werte bzw. Zeichen geschrieben wenn ich den Taster drücke.

Siehe Bild

Hallo Christian,

erfolgreich installiert, Hex-Kette ist zu sehen, danke für das Skript.

Mal sehen, was man (ich) damit so anstellen kann. :wink:

Gruß
Bruno

Ich habe deinen Beitrag mal so zitiert, dass es zu den Antworten paßt:

Der obere Screenshot zeigt, dass du die Systemvariable einem Kanal zugeordnet hast, dann wird sie in der CCU auch nicht in der Übersicht angezeigt; sondern nur zusammen mit dem Kanal.

Dort müssen jetzt deine Texte / Farben / Icons / Werte what ever rein.
Und einen Trigger braucht es auch, wenn sich dynamisch mal etwas ändern soll.
Es ist halt nur ein Grundgerüst.

Michael

Perfekt. Ich glaub ich hab es kapiert :slight_smile: Danke :):):):):slight_smile:

Eine Frage noch:

Würde gerne meine Alarmanlage mit anzeigen.

Es ist eine BooleanVariable „scharf“ „unscharf“

Hätte es so gedacht…



$Alarmanlage = GetValueBoolean(20243 /*[Wired\HEQ\scharf_unscharf\Alarmanlage Status]*/);


$display_line[6] =
    array(    'text'    =>     "$Alarmanlage",
                'icon'    =>     icon_no,
                'colour' =>    colour_green);



Doch leider wird gar nichts angeziegt. Das Display bleibt in Zeile 6 schwarz.

Welcher Text soll denn angezeigt werden wenn die Alarmvariable true ist, und welcher wenn sie false ist?

Hier musst du mit if und else arbeiten.

Gruß

Burkhard

Oh Mist…Da merkt man wohl doch dass ich eher mit §§§ als mit PHP umgehen kann :o

Dachte der übernimmt den Text aus IPS :eek:

Es sollte wenn möglich so angezeigt werden…

True = Unscharf
False = Scharf

Könntest du mir da vielleicht ein Code Schnipsel geben? :o

Einfach mal Doku lesen :wink:
GetValueFormatted — IP-Symcon :: Automatisierungssoftware
Dann braucht es auch keine Abfrage (if) sondern der Text kommt von dem Variablenprofil.
Michael

Ich liebe dieses Forum :loveips:


$Alarmanlage2 = GetValueFormatted (20243);

Es funktioniert. Vielen Vielen Dank an alle Helfer…:o

Danke Christian.

Gestern Abend eingerichtet und funktioniert.

Hallo,

gerne, endlich kann ich dem Forum auch mal was zurück geben, nach dem ich schon so viel „genommen“ habe.

Ich hätte vielleicht deutlicher schreiben sollen, dass es sich um ein Gerüst handelt, was man nun dynamisch füllen muss.

Gruß
Christian

Hallo zusammen,

Aber Fakt ist, dass es nur 2 Sendekanäle gibt? Man bekommt also keinen Display Wandtaster daraus gebaut? Ich wünsche mir einen solchen, als ins Schalterprogramm integrierbar. Aber 2 Funktionen ist mir was wenig. Bekommt man einen Kanal zum blättern und den zweiten dann um verschiedene Funktionen zu schalten hin?

Gruß Marcel