Neues Spielzeug: HM-Dis-EP-WM55 (e-ink Statusdisplay)

hatte längere Lieferzeit…

… aber jetzt ist endlich der Bausatz eingetroffen und wurde zusammengebaut:

Und noch ein kurzes Video vom „Boot-Up“:

Mehr gibts noch nicht zu zeigen 😉 Zu Hause habe ich weiterhin die CCU1 im Einsatz, womit das Display nicht kompatibel ist, also werde ich es nächste Woche im Büro mal ausgiebig testen.

Ein schönes Wochenende noch.

Nachtrag: erster Test im Büro

Schnell ein kleines Testprogramm zusammengeklickt:

Erste Anzeige:

2 Anzeige nach 30 Sekunden:

Display ist leider etwas träge von seiner Reaktion aber passt schon. Nach der alten großen Fernbedienung endlich eine Alternative zum „einfachen“ Anzeigen von Informationen.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Neuinterpretation Homematic Sonnensensor

Manche Sachen rollen sich durch Zufall neu auf…

Inspiriert durch das Homematictreffen 2016 durch den wirklich kreativen Spezialisten Dr. Eugen Stall (Webseite: stall.biz ) wurde der Wunsch nach einem genau arbeitenden Sonnensensor wieder neu entfacht. Zusätzlich soll das Sonnenstandsskript was er entwickelt hat auch zum Einsatz kommen (Siehe hier ). Mit dieser Kombination ist es möglich die Rolladen aber auch Lichter „präsise“ zu steuern, was im Prinzip einen normalen Lichtsensor überflüssig machen sollte.
Durch meine verbesserten Möglichkeiten des kreativen ….Ausdrucks… möchte ich diesmal einen Sonnensensor 3d Drucken 😉

Da ihr mich alle kennt – das Ziel zählt, der Weg dahin kann mal im Schnelldurchlauf überflogen werden, eine echte Anleitung ist es ja auf diesem Blog eigentlich nie, hier nun einige Bilder „des Weges“:

Das Gehäuse wurde in SketchUp designed und ist sehr simpel gehalten…

Vorstellung der hergestellten (und verwendeten) Teile:

(Landliebe) Marmeladenglas – ohne Schleichwerbung machen zu wollen. Dieses muss nach dem „Genuss“ des süßen Inhalts durch die Spülmaschine wandern und das nervige Papier, was sehr fest am Deckel klebt, entfernt werden. Danach wird mittig in den Deckel ein Loch gebohrt, durch das später ein stück Messingrohr gesteckt wird, indem einer der Temperatursensoren gesteckt wird. Das Messingrohr habe ich von einer Seite zugelötet mit einer dünnen Scheibe Messingstab, dann wurde nach Entfernen der Deckeldichtung (aufgeklebter Schaum oder was auch immer das ist am Deckel) der Stab an den Deckel gelötet. Ich habe dafür Fittingslot verwendet, es sollte aber auch mit normalem Elektroniklot klappen. Anschließend wurde der Messingstab schwarz lackiert. (Den Rest des Deckels entsprechend vorher abgeklebt mit Krepp). Nun wurde die Innenseite des Deckels, rund um den Stab, mit weißem Silikon gefüllt und möglichst eben gestrichen und der Deckel dann auf das Glas geschraubt (sieht man später besser). Silikon muss durchhärten.

Der Grundkörper (Becher) mit Halterung ist sehr simpel und erfüllt den Zweck, das Glas oben aufzunehmen und unten durch die Bohrung den 2. Temperatursensor. Da dies mein Proof of Concept ist, sind alle Löcher im nachhinein mit dem Bohrer auf ihren entgültigen Durchmesser aufgebohrt worden. Die langen M4 Schrauben haben sich ihr Gewinde selbst in den ABS Kunststoff geschnitten, somit sind auch keine Gegenmuttern notwendig um die Schelle fest gegen den Grundkörper zu pressen.

Der ELV Funk-Temperaturdifferenz-Sensor HM-WDS30-OT2-SM kam als Bausatz und wurde entsprechend der Anleitung aufgebaut.

Der Sensor ist mit einer Aufnahme für eine verschraubbare Halterung ausgestattet um ihn an einem Mast oder der Hauswand zu befestigen.

Die Bohrungen für die Kabelführung wurden alle im Nachgang von Hand gebohrt.

Nun wurden die beiden Sensoren entsprechend platziert – der im Deckel passte genau ins Messingrohr 🙂

Gut zu sehen: die Isolierung des Deckels und die Kabelführung durch die Halterung.

Die Kabel werden durchgefädelt und natürlich dann erst an die Platine des Differenzsensors angeschlossen! Dieser kann dann endmontiert werden.

Fertig – leider nicht zu sehen auf den Bildern: das Glas wurde nach Aufstecken auf den Grundköper rundherum wieder mit weißem Silikon verklebt und die „Fuge“ sauber abgestrichen.
Provisorischer Mast war auch schnell gefunden: ein Stück Kabelkanal 🙂

Einige Tage Testlauf hat er nun schon hinter sich:

Jetzt muss ich nur noch einen optimalen Platz finden – vermutlich auf dem Flachdach von meinem Büro, da er momentan nur ab Mittags richtig Sonne bekommt (so macht das noch nicht ganz so viel Sinn). Die Skripte für die Rolläden müssen nun auch zusammengestrickt werden – das wird hoffentlich noch was die nächsten Wochen. (Zeit ist immer so knapp)

Da sich das Teil momentan eigentlich ganz gut macht, überlege ich mir gerade noch die Sache in Thingiverse zu veröffentlichen, damit man das auch nachbauen könnte. Sicher lässt sich das Teil auch anders konstruieren aber das ist halt meine Interpretation.
Was auch noch wichtig ist: momentan besteht mein erster Versuch aus ABS, was vermutlich nicht auf Dauer UV beständig sein dürfte. Da es UV beständige Filamente gibt wird die Version 2 auf jedenfall aus so einem Material hergestellt, damit man auch länger was vom Sensor hat und er nicht nach einiger Zeit an der rauhen Umwelt „zerbröselt“.

Momentan fehlen dem Beitrag noch die genauen Maße des Messingrohrs und der gebohrten Löcher – das versuche ich nachzureichen (aber bitte nicht festnageln). Manchmal baut man einfach spontan los ohne auf alle Maße zu achten und sie entsprechend aufzuschreiben 😉 Deswegen muss ich jetzt mal nachmessen 😛

Ein entspanntes Wochenede noch.

 

 

 

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Neuer Receiver fürs Wohnzimmer – Yamaha RX-V679

… getönt hat der Alte noch gut, allerdings hat er sich nie gut in die Hausautomation einbinden lassen…

2007 oder 2008 muss es gewesen sein – da habe ich meinen ersten vernüftigen Verstärker von einem Bekannten abgekauft – der Luxman LR-6500. An sich für die damalige Zeit ein Top Verstärker, konnte sogar schon 7.1 und unzählige Surroundformate dekodieren. In einem war er immer schlecht: sich mit möglichst wenig Befehlen ansteuern lassen um ihn geziehlt über die Hausautomation zu starten oder umzuschalten.
Deswegen musste sich was tun – nach längerer Überlegung ob man sich das gönnen sollte usw. 🙂

Produktbeschreibung Yamaha Webseite



Überwunden… und gekauft 😛 Das derzeitige noch sehr neue „mittlere“ Flagschiff unter den Heimkinoreceivern von Yamaha. Leider nicht mehr Made in Japan sondern nur noch Malaysia aber trotzdem immer noch gut genug um es noch als echten „Yamaha“ durchgehen zu lassen. Farbe: Titan um etwas der alten Linie treu zu bleiben.

Das mitgelieferte Zubehör ist überschaubar – aber es fehlt an Nichts: Handbuch, Fernbedienung, UKW und Mittelwellenantenne, YPAO Einmessmikrofon und hinten am Gehäuse eine eingeschraubte WLAN Antenne (die direkt vor dem Aufstellen abgeschraubt wurde – nur Kabel LAN ist wahres LAN).

Ein Überblick über die Anschlüsse:

Leider besitzt er nicht mehr wie frühere Geräte die Euro-Kupplung um z.B. den Subwoofer mit Strom zu versorgen und ihn mit abzuschalten im Standby. Dafür gibt es jetzt einen 12 Volt Trigger, den man sogar programmieren kann, wan er schalten soll. Eventuell wird da mal eine Eigenkonstruktion mit Relais angeschlossen… (siehe oben links)

Der Hauptvorteil im Bezug auf den Gebrauch in Verbindung mit dem Fernseher: der Fernseher kann mich mal mit seiner besch….enen Input Verwaltung (die tatsächlich eine Ladebalken hat wenn man den Fernseher gerade angeschaltet hat): alle HDMI Geräte werden am Receiver angeschlossen. Das macht auch viele der bisher benötigten SPDIF Glasfaserkabel überflüssig (wovon der Yamaha auch einige weniger Anschlüsse besitzt als der Luxman).
Der Fernsehr kennt nun nur noch eins: ein- oder aus 🙂 Gesteuert mit einem Homematic 1 Kanal Aktor!! (Tod dem irtrans!?? Hat er seine Daseinsberechtigung verwirkt?)

Ein Paar letzte Ansichten der alten Besetzung… Klassisch und zeitlos wirkte er schon der Luxman – aber auch irgendwie zu „analog“ für den heutigen Geschmack (war er durch und durch auch nicht wirklich).

Und raus ist er…

Oh da steht ja noch was von Yamaha ^^ Das alte Kassettendeck vom Vater…
Läuft immer noch tadelos und kommt natürlich auch wieder an die neue Kiste mit dran.


Kabel entsprechend neu verlegt: die beiden HDMI Leitungen Richtung Fernseher haben sich bezahlt gemacht: eine geht vom Receiver zum HDMI-1 in den LG TV, die 2. Leitung versetzt mich in die Lage das Apple TV hinter dem Fernseher zu lassen und führt es an HDMI-2 an den neuen Receiver – HDMI-1 wird der Dreambox zugeordnet…


First Boot-UP: Firmwareupdate… Dauert ca. 20 Minuten.

Und Bereit! Lautsprecher mit dem Mikrofon eingemessen und noch einige Parameter (hat ca. 1 Woche gedauert) im OSD Interface am Fernseher eingestellt.

Jetzt kann wieder gescripted werden…

Der Yamaha RX-V679 wird wie seine direkten Vorgänger mit LAN Port über eine XML Syntax angesteuert. Die ist sehr pingelig was Fehlerfreiheit anbetrifft – ist irgendwo ein Zeichen falsch oder vergessen, reagiert der Receiver ganz einfach nicht. Ansonsten bietet die Befehlsstuktur für eigentlich alle Funktionen diskrete Ansteuerung an, z.B. der Standbybefehl: (vereinfachte Darstellung)

<System><Power_Control><Power>On</Power></Power_Control></System>

Egal wie oft man den sendet – der Befehl schaltet NUR ein nichts anders, kein nerviges Toggeln.

<System><Power_Control><Power>Standby</Power></Power_Control></System>

Das Selbe mit dem Ausschaltbefehl.

Ich habe mein althergebrachtes PHP Skript wieder mal erweitert, welches ursprünglich mal nur Befehlsabfolgen für den irtrans enthielt – mittlerweile (irtrans wirklich…. tot!??) ist da garnüschts mehr vom irtrans – er ist wirklich überflüssig geworden!! IR-Befehle spielen keine Rolle mehr bei meiner Installation, schön sowas mal zu erleben 🙂

So… jetzt verlier ich gerade wieder den roten Faden in diesem Beitrag. Diesmal belasse ich es auch mit weiterem Geschwafel und bringe noch den relevanten Ausschnitt der PHP Datei um den Receiver anzusteuern:

Es gibt eine Funktion, die die eben gezeigten vereinfachten Befehle entgegennimmt…

function YamahaNET($command) {
// Yamaha Receiver
$host = '192.168.1.9';
$data = '<YAMAHA_AV cmd="PUT">'.$command.'</YAMAHA_AV>';
$command_lenght = strlen($data );
     
//echo $command_lenght;    //zum prüfen    
$head = "";
$head .= "POST /YamahaRemoteControl/ctrl HTTP/1.1\r\n";
$head .= "Host: ".$host."\r\n";
$head .= "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0\r\n";
$head .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$head .= "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$head .= "Accept-Encoding: gzip, deflate\r\n";
$head .= "Connection: keep-alive\r\n";
$head .= "Content-Type: text/xml; charset=UTF-8\r\n";
$head .= "Referer: http://".$host."/\r\n";
$head .= "Content-Length: ".$command_lenght."\r\n";
$head .= "Pragma: no-cache\r\n";
$head .= "Cache-Control: no-cache\r\n\r\n";
$head .= $data;
//echo $head; //zum prüfen

$fp = fsockopen($host, 80) or die("Unable to open socket");
fputs($fp, $head);

$buf = fgets($fp,128);
fclose($fp);
//echo $buf;   //zum prüfen

$return = substr($buf,13,2);
  if ($return == "OK") {
        return true;
        //return "OK";
}
}

 

Die Befehle werden dann so ausgelöst:

YamahaNET("<System><Power_Control><Power>Standby</Power></Power_Control></System>");

Thats it, funktioniert perfekt und quasi latenzfrei…

Meine Kleine Befehlsreferenz von Funktionen die ich bisher im Einsatz habe:

//Power On
YamahaNET("<System><Power_Control><Power>On</Power></Power_Control></System>");

//Power Off
YamahaNET("<System><Power_Control><Power>Standby</Power></Power_Control></System>");

//HDMI-1 select
YamahaNET("<Main_Zone><Input><Input_Sel>HDMI1</Input_Sel></Input></Main_Zone>");

//Volume up um 2 dB
YamahaNET("<Main_Zone><Volume><Lvl><Val>Up 2 dB</Val><Exp></Exp><Unit></Unit></Lvl></Volume></Main_Zone>");

//Volume down um 2 dB
YamahaNET("<Main_Zone><Volume><Lvl><Val>Down 2 dB</Val><Exp></Exp><Unit></Unit></Lvl></Volume></Main_Zone>");

//B-Zone auf Internetradio schalten
YamahaNET("<Zone_2><Input><Input_Sel>NET RADIO</Input_Sel></Input></Zone_2>");

//B-Zone auf Preset-1 schalten (z.B. mit Internetradio)
YamahaNET("<NET_RADIO><Play_Control><Preset><Preset_Sel>1</Preset_Sel></Preset></Play_Control></NET_RADIO>");

//B-Zone einschalten
YamahaNET("<Zone_2><Power_Control><Power>On</Power></Power_Control></Zone_2>");

//B-Zone ausschalten
YamahaNET("<Zone_2><Power_Control><Power>Standby</Power></Power_Control></Zone_2>");

//B-Zone spielt gleichen Input wie Main-Zone
YamahaNET("<Zone_2><Input><Input_Sel>Main Zone Sync</Input_Sel></Input></Zone_2>");

//Mainzone Mute on
YamahaNET("<Main_Zone><Volume><Mute>On</Mute></Volume></Main_Zone>");

//Mainzone Mute off
YamahaNET("<Main_Zone><Volume><Mute>Off</Mute></Volume></Main_Zone>");

Per Sleep-Befehl lassen sich zwischen aufeinanderfolgenden Befehlen gut Pausen generieren. Das habe ich auch schon immer bei irtrans genutzt.

Die Leserichtung ist auch interessant um z.B. die aktuell eingestellte Lautstärke auszulesen. Dafür gibt es eine weitere Funktion die auch sehr einfach gehalten ist und den gesamten XML String vom Yamaha lädt und ihn dann mit einem preg_match auseinander klamüsert um nach dem gewünschten Wert zu suchen:

//Beispiel: Lautstärke der Main-Zone zurückgeben
$status = YamahaStatus();
preg_match('/\<Volume\>\<Lvl\>\<Val\>([-0-9]+)\<\/Val\>\<Exp\>/', $status, $res);
//echo $res[1];
$vol = intval($res[1]) / 10;
//echo $vol;
echo "<font color=white face=Verdana>".$vol." dB</font>";


function YamahaStatus() {
// Yamaha Receiver
$host = '192.168.1.9';
$data = '<YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>';
$command_lenght = strlen($data );
       
//echo $command_lenght;    //zum prüfen
     
$head = "";
$head .= "POST /YamahaRemoteControl/ctrl HTTP/1.1\r\n";
$head .= "Host: ".$host."\r\n";
$head .= "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0\r\n";
$head .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$head .= "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$head .= "Accept-Encoding: gzip, deflate\r\n";
$head .= "Connection: keep-alive\r\n";
$head .= "Content-Type: text/xml; charset=UTF-8\r\n";
$head .= "Referer: http://".$host."/\r\n";
$head .= "Content-Length: ".$command_lenght."\r\n";
$head .= "Pragma: no-cache\r\n";
$head .= "Cache-Control: no-cache\r\n\r\n";
$head .= $data;
//echo $head; //zum prüfen

$fp = fsockopen($host, 80) or die("Unable to open socket");
fputs($fp, $head);

$buf = stream_get_contents($fp);
fclose($fp);

$buf = explode("\r\n\r\n", $buf)[1];

//echo $buf;   //zum prüfen
return $buf;

}

Vielen Dank an Jonas Schievink für die Unterstützung an der Auslesefunktion!

Die Ausgelesenen Werte lassen sich vielfältig einsetzen um eventuell der Homematic diese als Wert zur Verfügung zu stellen…

So, das solls erstmal gewesen sein – längerer Beitrag nach Monaten des Stillstands hier auf dem Blog – Schande über mich aber zu wenig Zeit und Motivation was zu posten :-/

N8 ihr Leut.

VN:F [1.9.22_1171]
Rating: 5.0/5 (3 votes cast)

Homematic Teichfilter-Notabschaltung

… wenn der Teichfilter überläuft ist der Teich bald leer

Meine Eltern sind stolze Besitzer eines mittelgroßen Gartenteiches. Die neueste Errungenschaft ist ein entsprechend effektiver Durlauffilter mit div. Schaustofffiltermatten und Filterkörpern aus Kunststoff. Die Konstruktion neigt gerne dazu, wenn die Filter mit der Zeit verstopfen und gerreinigt werden müssen, überzulaufen. Das dauert dann nicht lange bis der Teich entsprechend Wasser verloren hat und die Fische auf dem „Trocknen“ japsen :-/ Besonders ärgerlich wenn das im Urlaub passiert und einen dann panische Anrufe ereilen ob denn mit dem Teich noch alles in Ordnung ist (und man dann natürlich hin eiern darf um nach dem Rechten zu sehen – mit einem Höchstmaß an Motivation 😉 ).
Grund genug eine Lösung für dieses Problem zu finden!

Von der Kanisterpegel-Messgeschichte waren noch mehrere Pegelschalter übrig und im Büro flog noch der alte Solar-Sonnensensor herum, der mittlerweile durch einen Homematic Aussenbewegungsmelder mit Lichtsensor ersetzt wurde. Diese Teile boten sich einem gerade so an was Neues daraus zu machen.

Daraus entstand dies:


Der Taster (normaler Printtaster, abgedeckt durch eine undurchstochene flexible Kabeldurchführung) ist an einem HomeMatic 3-Kanal-Funk-Schließerkontakt-Interface angeschlossen, genauso wie der Pegelschalter auf dem nächsten Bild.

Wenn nun der Filter droht vollzulaufen schaltet der Pegelschalter durch und sorgt dafür, dass die Teichpumpe durch die Homematic abgeschaltet wird und eine Pushnachricht an den Teichinhaber geschickt wird („Teichfilter verstopft!“). Nebenbei wird eine Systemvariable „Teichfilter“ auf „verstopft“ gesetzt. Die Pumpe bleibt so lange ausgeschaltet bis der Filter gerreinigt und die Freischalttaste am Gehäuse der Notabschaltung betätigt wurde. Dies setzt die Systemvarible auf „Teichfilter“ „frei“ und schaltet die Pumpe wieder ein. Entsprechend wird zur Information noch eine Pushnachricht „Pumpe wieder eingeschaltet“ versendet. Pushnachrichten werden via Boxcar übertragen. Wenn sich die Schaltung im fehlerfreien Betrieb befindet und die Taste am Gehäuse betätigt wird, löst ein 5 minütiger Testmodus aus. In der Zeit führt das Anschlagen des Pegelsensors zum Einschalten der nächstgelegenen, sichtbaren Gartenlampen, so dass man sehen kann ob der Sensor korrekt arbeitet. Die Zentralenskripte sind einfache Homematic „Klick“-Skripte.

Zum Schluss noch ein kurzes Video

Wenn argh der Wunsch besteht, kann ich dann auch die Skripte nochmal veröffentlichen – ist allerdings keine hohe Kunst und für den ambitionierten Homematicuser leicht umzusetzen.

 

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)