So, ich hab das Teil jetzt bekommen und zusammengebaut.
Viel geht aber bisher nicht. Das Modul von Nall-chan (HomeMatic WM55-Dis) funktioniert damit leider nicht…
Hat noch jemand das Teil da und konnte schon spielen?
So, ich hab das Teil jetzt bekommen und zusammengebaut.
Viel geht aber bisher nicht. Das Modul von Nall-chan (HomeMatic WM55-Dis) funktioniert damit leider nicht…
Hat noch jemand das Teil da und konnte schon spielen?
Gestern geliefert. Aber aktuell keine Zeit
Michael
Ok, ich habe es dann mal zusammengebaut.
Allerdings habe ich mir den Aufbau des String welcher an den Datenpunkt ‚SUBMIT‘ gesendet werden muss, nicht weiter angesehen.
Die Instanz der Display-Statusanzeige ist so auch nicht geeignet.
Die Zeilenanzahl stimmt nicht, Farbe kann ePaper nun mal halt auch nicht.
Und der größte Unterschied ist ja, dass die ePaper-Version immer auf Empfang ist und es somit kein Timing bei Übertragen des Text nach einem Tastendruck braucht.
Michael
Bisher habe ich nicht mal richtig gecheckt wie ich das Ding überhaupt sinnvoll mit der CCU nutzen bzw. programmieren kann…
Aber auch mir fehlt da derzeit die Zeit und Muße…
Habe aktuell keine Verknüpfung mit einem Aktor hergestellt.
Scheint aber normal zu sein.
Wenn ich etwas an Submit sende, Wird auch erst gelöscht und dann geschrieben.
Bei Verknüpfungen kommt dann ja noch der Status vom Aktor zurück, darum wird zweimal geschrieben.
Michael
@ChristianL
Wenn Du den Link korrigierst sehen wir’s vielleicht auch
Ansteuerung funktioniert analog zum OLED-Display mit der „netten“ Abweichung, dass es jederzeit angesprochen werden kann -> DETAILS
Beste Grüße
/Jens
Also ich konnte das Video laden?!
@Jens: Danke für den Link.
So ganz identisch ist es aber nicht zum OLED.
Michael
Oh! Liegt wohl an der verwendeten Cipher Suite - die erlaube ich bei mir nicht mehr. Sozusagen mein Fehler
Muss nachher auch mal ein wenig praktisch spielen. Hatte bisher nur für Theorie Zeit.
Beste Grüße
/Jens
Also ich finde es ein wenig merkwürdig, es wird ja ein paar mal neu „aufgebaut“.
Zudem habe ich der Mitte noch den Status für meine Keymatic, die Zeile wird dann komplett gelöscht wenn sich der Schalt-Aktor Status ändert…
Irgendwie ist das Teil „seltsam“ - das 3x an/aus nach jeder Datenübertragung ist so gewollt. Das soll wahrscheinlich für ein ordentliches Rücksetzen der Anzeige sorgen :rolleyes:
Was ich selten dämlich finde ist, dass man die obere (== Zeile 3 in der Konfig/WebUI) und untere (== Zeile 2 in der Konfig/WebUI) Zeile nicht per Skript setzen kann! Wer denkt sich so’n besch…eidenen Schwachsinn aus!!!
[OT]
Toooooooooooooooooooooooooor!!!
[OT]
Beste Grüße
/Jens
Moin Moin ,
Taugt das Zeug was oder ist es wieder ne Null-Nummer von ELV ?
Um ehrlich zu sein … ich habe noch keinen sinnvollen Anwendungsfall für das Teil gefunden!!!
Die Bedienung aus IPS heraus ist soweit ziemlich klar. Ich bin allerdings noch nicht dazu gekommen es soweit in ein Skript zu gießen (analog zum OLED-Display), dass man es durchschaubar ansprechen kann.
Hat jemand Ideen wofür man es noch einsetzen könnte?
Beste Grüße
/Jens
Ich habs noch nicht zusammengelötet, will es aber an der Haustür als Statusanzeige (Temperatur, Fenster noch offen, etc.) und leaving home Taster einsetzen … hab aber derzeit auch wenig Zeit mich zu kümmern …
Gesendet von iPhone mit Tapatalk
das mit dem Display zurücksetzen wie im video ist schon seltsam, habs wieder zurück geschickt
Für mich ist es so Sinnfrei.
Wenn ich drei Stati darstelle und einer sich davon ändert, verschwindet die anderen beiden gänzlich vom Display
Und das selbst dieser „Löschvorgang“ durchgeführt wird wenn ich die Taster nutze, ohne das sich irgendetwas auf dem Display ändern muss finde ich ebenfalls extrem besch***
Leider kann man ja Bausätze nicht zurückschicken.
Ich finde es echt bescheiden was ELV/EQ3 da derzeit auf den Markt wirft!
Also ich verzweifel gerade mit dem Teil, ich habe mir aus verschiedenen Skripten was zusammengebacken und bekomme einfach nicht hin, wollte es einfach mal piepsen lassen…
Ich weiß nicht genau welche Instanz (0,1,2…) ich ansprechen muss, habe aber alle durchprobiert - es macht keinen Mucks.
Dazu würde ich auch gerne wissen wie ich die Zeilen ansprechen kann - den Rest bekomme ich sicher irgendwie hin…
Hier mein Skript:
<?
$CCU_IP='192.168.1.248';
$string='0xC2';
$HM_Script = 'dom.GetObject("BidCos-RF.NEQ0711845:3.SUBMIT").SUBMIT("'.$string.'");
';
HMRS_HTTP_Post($CCU_IP, $HM_Script);
function HMRS_HTTP_Post($CCU_IP, $HM_Script) {
$fp = fsockopen ($CCU_IP, 8181, $errno, $errstr, 2);
$res = "";
if (!$fp) {
$res = "$errstr ($errno)<br />
";
} else {
fputs($fp, "POST /Test.exe HTTP/1.1
");
fputs($fp, "Content-type: application/x-www-form-urlencoded
");
fputs($fp, "Content-length: ". strlen($HM_Script) ."
");
fputs($fp, "Connection: close
");
fputs($fp, $HM_Script);
while(!feof($fp)) {
$res .= fgets($fp, 500);
}
fclose($fp);
}
return $res;
}
?>
Gruß,
Matthias
Hallo zusammen,
anbei meine Ansteuerung des Displays.
(Die Scripte sind aus verschiedenen Scripten zusammengesetzt.)
Include Datei HM_E_Paper.php:
<?
// HM_E_Paper.php
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_no", "");
function umsetzen($display_line) {
$string = "0x02,0x0A";
if ($display_line[1]['text'] != "") {
$string .= ",0x12,".hex_encode($display_line[1]['text']);
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']);
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']);
if ($display_line[3]['icon'] != ""){
$string .= "0x13,".$display_line[3]['icon'].",0x0A";
} else {
$string .= "0x0A";
}
} else {
$string.= ",0x0A";
}
return $string;
}
function hex_encode($ascii) {
if (strlen($ascii) > 0 and strlen($ascii) < 5 and strlen($ascii) == 4){
if ($ascii{0} == "0" and $ascii{1} == "x"){
$hex = $ascii;
return $hex.",";
}
}
$hex = '';
for ($i = 0; $i < strlen($ascii) and $i < 12; $i++) {
$byte = strtoupper(dechex(ord($ascii{$i})));
$byte = str_repeat('0', 2 - strlen($byte)).$byte;
$hex.="0x".$byte.",";
}
return $hex;
}
function HMRS_HTTP_Post($CCU_IP, $HM_Script) {
$fp = fsockopen ($CCU_IP, 8181, $errno, $errstr, 2);
$res = "";
if (!$fp) {
$res = "$errstr ($errno)<br />
";
} else {
fputs($fp, "POST /Test.exe HTTP/1.1
");
fputs($fp, "Content-type: application/x-www-form-urlencoded
");
fputs($fp, "Content-length: ". strlen($HM_Script) ."
");
fputs($fp, "Connection: close
");
fputs($fp, $HM_Script);
while(!feof($fp)) {
$res .= fgets($fp, 500);
}
fclose($fp);
}
return $res;
}
function wiederholungen_abstand($wiederholungen, $string, $abstand) {
if ($wiederholungen < 1){
$string = $string . "0xDF,0x1D,";
} else {
if ($wiederholungen < 11) {
$string = $string . "0xD" . ($wiederholungen - 1) . ",0x1D,";
}
else {
if ($wiederholungen == 11) {
$string = $string . "0xDA,0x1D,";
}
else {
if ($wiederholungen == 12) {
$string = $string . "0xDB,0x1D,";
}
else {
if ($wiederholungen == 13) {
$string = $string . "0xDC,0x1D,";
}
else {
if ($wiederholungen == 14) {
$string = $string . "0xDD,0x1D,";
}
else {
$string = $string . "0xDE,0x1D,";
}
}
}
}
}
}
if ($abstand <= 10) {
$string = $string . "0xE0,0x16,";
} else {
if ($abstand <= 100) {
$string = $string . "0xE" . ($abstand - 1 / 10) . ",0x16,";
}
else {
if ($abstand <= 110) {
$string = $string . "0xEA,0x16,";
}
else {
if ($abstand <= 120) {
$string = $string . "0xEB,0x16,";
}
else {
if ($abstand <= 130) {
$string = $string . "0xEC,0x16,";
}
else {
if ($abstand <= 140) {
$string = $string . "0xED,0x16,";
}
else {
if ($abstand <= 150) {
$string = $string . "0xEE,0x16,";
}
else {
$string = $string . "0xEF,0x16,";
}
}
}
}
}
}
}
return $string;
}
?>
Und zum Ansteuern das Script:
<?
//
// Ansteuerung HM-Dis-EP-WM55 E-Paper von Homematic
//
include "HM_E_Paper.php";
$CCU_IP = 'xxx.xxx.xxx.xxx'; // IP der CCU2
$Seriennummer = "NEQxxxxxxx"; // Seriennummer des Display
//---------------------------------------
// Definition der Werte für die Signale
//
// ! 0xF0 AUS
// ! 0xF1 Rotes Blitzen
// ! 0xF2 Grünes Blitzen
// ! 0xF3 Orangenes Blitzen
$signal = "0xF0";
//---------------------------------------
// Definition der Werte für die Tonfolgen
//
// ! 0xC0 AUS
// ! 0xC1 LANG LANG
// ! 0xC2 LANG KURZ
// ! 0xC3 LANG KURZ KURZ
// ! 0xC4 KURZ
// ! 0xC5 KURZ KURZ
// ! 0xC6 LANG
$tonfolge = "0xC0";
// Wiederholungen
// 1 bis 15. 0 = Unendlich
$wiederholungen = 5;
// es wird zum nächstmöglichen Abstand aufgerundet. Maximum ist 160s.
$abstand = 10;
//---------------------------------------
// ******** Icon ***********
// EIN icon_on
// AUS icon_off
// OFFEN icon_open
// geschlossen icon_closed
// fehler icon_error
// alles ok icon_ok
// information icon_information
// neue nachricht icon_message
// servicemeldung icon_service
// ohne Icon icon_no
//---------------------------------------
// Umlaute - Sonderzeichen:
//
// "{" = "ä"
// "|" = "ö"
// "#" = "Ö"
// "}" = "ü"
// "$" = "Ü"
// "_" = "ß"
// ";" = Sanduhr
// "<" = Pfeil nach unten
// "=" = Pfeil nach oben
// "@" = Pfeil nach rechts unten
// ">" = Pfeil nach rechts oben
//---------------------------------------
// Zugriff auf vordefinierte Texte
//
// 0x80 Textblock 1
// 0x81 Textblock 2
// 0x82 Textblock 3
// 0x83 Textblock 4
// 0x84 Textblock 5
// 0x85 Textblock 6
// 0x86 Textblock 7
// 0x87 Textblock 8
// 0x88 Textblock 9
// 0x89 Textblock 10
// 1. Zeile *****************************
$display_line[1] =
array( 'text' => "0x80",
'icon' => icon_ok);
// 2. Zeile *****************************
$display_line[2] =
array( 'text' => "0x81",
'icon' => icon_error);
// 3. Zeile *****************************
$display_line[3] =
array( 'text' => "0x82",
'icon' => icon_service);
//*************************************************************************
// Ab hier keine Änderungen machen
//*************************************************************************
$string = umsetzen($display_line);
// Definition der Werte für die Tonfolgen
$string = $string . ",0x14," . $tonfolge . ",0x1C,";
// Wiedeholungen und Abstand hinzufügen
$string = wiederholungen_abstand($wiederholungen, $string, $abstand);
// Definition der Werte für die Signale
$string = $string . $signal . ",0x03";
$HM_Script = '
! Hex-String an das Display senden
dom.GetObject("BidCos-RF.'.$Seriennummer.':3.SUBMIT").State("'.$string.'");
';
//echo $HM_Script;
HMRS_HTTP_Post($CCU_IP, $HM_Script);
?>
Viel Spaß
Hallo Chris.
Besten Dank für die Scripte, funktioniert 1a! Vielleicht gibt es ja doch noch eine Anwendung für das sch*** Teil…
Hast du zufällig auch das Problem mit dem Löschen bei Tastendruck kompensieren können?
Chris: Vielen vielen Dank!
Jetzt zeigt das Ding mal wenigstens irgendwas an
Allerdings gehts mir wir ChristianL - wenn ich was drücke geht mir alles „flöten“.
Mein Plan wäre eigentlich wie folgt: Anzeige von irgendwelchen Stati (Licht, Alarmanlagenstatus etc.) und mit einem der Schalter dann abschalten der Alarmanlage (geht über IPS mittels Homematic Rauchmeldern) wenn Sie Alarm gibt oder kurz vor Auslösung. Also wenn der Alarm losgeht (mit Karenzzeit) z.b. den Schalter 10x drücken um Auszuschalten o.Ä.
Aktuell kann ich ja nur was mit dem Skript „draufsenden“ und das geht dann bei Tastendruck ins Nirvana…
Ich würde mich freuen - das erhöht den WAF gewaltig
LG,
Matthias