433MHz Schalt-Steckdosen fernsteuern | Rustimation

Originalartikel

Backup

<html> <p>Nat&#252;rlich kann der Raspberry Pi als Universalgenie auch drahtlose Aktoren (Funk Schalt-Steckdosen und anderes) fernsteuern. Gerade in der Home Automation bieten sich hier schier unbegrenzte M&#246;glichkeiten. Das geht auch recht einfach. Wie man mit dem Pi handels&#252;bliche Funk Schalt-Steckdosen fernsteuern kann,&#160; steht in nachfolgender Anleitung.</p> <h3>Rahmenbedingungen / Voraussetzungen</h3> <p>Um mit dem Pi eine oder mehrere 433 MHz Schaltsteckdosen fernzusteuern brauchst du:</p> <ul><li>Grundkenntnisse im Handling des Raspberry Pi: wie man eine Datei erzeugt, sie z.B. mit Nano editiert, Owner und Dateimodus &#228;ndert und all so was.</li> <li>Einen Raspberry Pi: ob Modell A oder B ist egal, das Modell B ist im headless Betrieb (also ohne angeschlossenen Monitor) einfacher zu konfigurieren und kostet nur marginal mehr.</li> <li>Einen 433 MHz Sender: gibts bei <a href=„http://www.amazon.de/gp/product/B007XEXICS/ref=oh_details_o02_s00_i00?ie=UTF8&amp;psc=1“ target=„_blank“>Amazon </a>oder g&#252;nstiger und schneller bei <a href=„http://www.watterott.com/de/RF-Link-Sender-434MHz“ target=„_blank“>Watterott electronic</a> &#8211; die haben auch Datenbl&#228;tter dazu.<br/><a href=„http://chriskrz.selfhost.bz/wordpress/wp-content/uploads/2014/06/433MHz_Sender.jpg“><img class=„ size-thumbnail wp-image-96 aligncenter“ src=„https://chriskrz.selfhost.bz/wordpress/wp-content/uploads/2014/06/433MHz_Sender-150x150.jpg“ alt=„433MHz_Sender“ width=„150“ height=„150“/></a></li> <li>Ferner noch eine oder mehrere 433MHz Funkschaltdosen. Hier gibt es ein gro&#223;es Angebot, ich habe ein 2er Set inkl. Fernbedienung von Elro genommen, die gibts auch bei <a href=„http://www.amazon.de/gp/product/B009A7E7NA/ref=oh_details_o01_s00_i00?ie=UTF8&amp;psc=1“ target=„_blank“>Amazon </a>oder im Baumarkt. Ich kann leider nicht garantieren, dass diese Anleitung mit Schaltdosen von anderen Herstellern funktioniert &#8211; mit Produkten von Elro seid ihr jedenfalls auf der sicheren Seite.</li> </ul><p><a href=„http://chriskrz.selfhost.bz/wordpress/wp-content/uploads/2014/06/elro.jpg“><img class=„ size-full wp-image-104 aligncenter“ src=„https://chriskrz.selfhost.bz/wordpress/wp-content/uploads/2014/06/elro.jpg“ alt=„elro“ width=„225“ height=„133“/></a></p> <ul><li>Ein genialisches Python Programm zum Schalten der Steckdosen &#252;ber den mit dem Pi verbundenen 433MHz Sender &#8211; geschrieben von HeikoHeiko. Gibt es bei <a href=„http://pastebin.com/aRipYrZ6“ target=„_blank“>http://pastebin.com/aRipYrZ6</a>. Einfach das dort abgebildete Programm in eine auf dem Pi zu erzeugende Datei namens elropi.py pasten.</li> <li>Au&#223;erdem muss noch die

rpi.gpio

Python Library installiert werden. Wie das geht steht <a href=„http://www.raspberrypi-spy.co.uk/2012/05/install-rpi-gpio-python-library/“ target=„_blank“>hier.</a></li> <li>Im Folgenden gehe ich davon aus, dass der User Pi hei&#223;t und dass die hier erw&#228;hnten Routinen im Verzeichnis

/home/pi/433mhz

liegen</li> <li>WiringPi braucht ihr <strong>nicht</strong>. Imho nur &#252;berfl&#252;ssiger Ballast. Im Internet findet ihr aber sicher auch jede Menge anderer Anleitungen, die auf WiringPi basieren.</li> </ul><h3>Anschluss des Senders</h3> <p>Der Sender hat 4 Pins. Einer davon ist die Antenne [ANT], an welchem wir einen 17cm langen Draht befestigen. Ob ihr das mit dem L&#246;tkolben macht oder den Buchse-Buchse Bastelkabeln vom Pi, bleibt euch &#252;berlassen.</p> <p><a href=„http://chriskrz.selfhost.bz/wordpress/wp-content/uploads/2014/06/433MHz_wires.jpg“><img class=„ size-full wp-image-100 aligncenter“ src=„https://chriskrz.selfhost.bz/wordpress/wp-content/uploads/2014/06/433MHz_wires.jpg“ alt=„433MHz_wires“ width=„290“ height=„169“/></a></p> <p>Ich habe mich f&#252;r die Steckervariante entschieden und nach dem Test des Aufbaus die Stecker mit etwas Hei&#223;kleber fixiert.</p> <p>Jetzt wirds leider etwas tricky! Es gibt viele Varianten des Senders und ich garantiere nicht, dass die Pinbelegung immer dieselbe ist. In meinem Fall ist die Belegung wie folgt:</p> <p>1 &#8211; Ground (Masse) geht an Pin 6 oder 25 des Pi<br/> 2 &#8211; Data In wird mit einem freien GPIO Pin des Pi verbunden &#8211;<br/> bei mir ist das Pin 26 f&#252;r GPIO#7<br/> 3 &#8211; Schlie&#223;lich noch die Stromversorgung 3,3 Volt an Pin 1 oder Pin 17 des Pi<br/> 4 &#8211; Die Antenne wie oben beschrieben. &#220;ber kurze Entfernungen von 1-2 Metern braucht man die Antenne nicht unbedingt.</p> <p>Wer sich mit den Paspberry Pi Kontakten nicht so richtig auskennt, dem empfehle ich die Lekt&#252;re von <a href=„http://elinux.org/RPi_Low-level_peripherals#Introduction“ target=„_blank“>Elinux Org &#8211; RPi Low Level Peripherals.</a></p> <p>Ob und wie ihr das in ein Geh&#228;use einbaut, bleibt euch &#252;berlassen. F&#252;r diesen Anwendungsfall habe ich dieses <a title=„Polystyrol Geh&#228;use“ href=„http://www.conrad.de/ce/de/product/523178/Universal-Gehaeuse-Polystyrol-EPS-Schwarz-146-x-150-x-60-1-St“ target=„_blank“>Geh&#228;use </a>hier verwandt . Ist der USB Stecker vom Stromanschluss &#8211; wie meist &#8211; gerade ausgef&#252;hrt, muss man an der passenden Stelle eine Aussparung in die Frontplatte f&#252;r den Micro-USB Stecker bohren. Die SD Speicherkarte steckt bei meiner eigenen L&#246;sung in einem Micro SD Adaper, also steht sie nicht &#252;ber. ggf. also auch hier noch bohren und feilen. Nat&#252;rlich gehen auch Gefrierdosen.<br/> In H&#246;he der Befestigungsbohrungen des Pi habe ich mit Hei&#223;kleber zwei Holzkl&#246;tzchen in das Geh&#228;use geklebt, um den Pi darauf festzuschrauben. Den Sender habe ich direkt mit dem Geh&#228;use verklebt. Generell finde ich die Geh&#228;usesituation f&#252;r den permanenten Verbau des Pi mit angeschlossener Peripherie eher unbefriedigend.</p> <h3>Einrichten der Funksteckdose</h3> <p>Die Funktsteckdose muss erst einmal codiert werden. Dazu hat sie i.d.R. eine kleine mit einem Deckel versehene &#214;ffnung unter der sich ein 10-fach DIP Schalter befindet. Schalterchen 1 bis 5 sind f&#252;r den Systemcode da.<br/> Wir k&#246;nnen eine beliebige Kombination w&#228;hlen z.b 1-0-1-0-1 und merken uns diese. Ebenso k&#246;nnen wir nun die Fernbedienung codieren. Die Fernbedienung wird eigentlich nicht ben&#246;tigt, ist aber ganz praktisch zum Testen.</p> <p>Die Schalterchen 6 bis 10 legen fest, welche Taste der Fernbedienung gedr&#252;ckt werden muss um die Dose zu schalten. Der erste Schalter (= Nr. 6) auf ON bedeutet, dass Taste A der Fernsteuerung die Dose schaltet. Schalterchen 7 bis 10 bleiben auf OFF.</p> <p>Im Weiteren gehe ich davon aus, dass die Dose genauso konfiguriert ist, d.h. auf Taste A liegt. Jetzt k&#246;nnt ihr schon einmal mit der Fernbedienung ausprobieren, ob das funktioniert &#8211; vorausgesetzt, ihr habt eine solche.</p> <h3>Programm einrichten</h3> <p>Das Programm elropi.py haben wir schon auf den Pi kopiert und wir machen es im Editor auf.</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168b31405888480" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div>Python</div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

nano elropi.py</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168b31405888480-1">1</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168b31405888480-1">nano elropi.py</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0030 seconds] –>&#13; <p>Fast am Ende der Datei (ca. Zeile 91) finden sich zwei Zeilen</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168b83400732528" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover expand" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div>Python</div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

# Change the default_key[ ] variable below according to the dipswitches on your Elro receivers.&#13; default_key = [1,0,0,0,1] &#13; # change the pin accpording to your wiring&#13; default_pin = 7</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="hide">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168b83400732528-1">1</div><div class="crayon-num crayon-marked-num crayon-top crayon-bottom crayon-striped-num" data-line="crayon-5955309168b83400732528-2">2</div><div class="crayon-num" data-line="crayon-5955309168b83400732528-3">3</div><div class="crayon-num crayon-marked-num crayon-top crayon-bottom crayon-striped-num" data-line="crayon-5955309168b83400732528-4">4</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168b83400732528-1"># Change the default_key[ ] variable below according to the dipswitches on your Elro receivers.</div><div class="crayon-line crayon-marked-line crayon-top crayon-bottom crayon-striped-line" id="crayon-5955309168b83400732528-2">default_key = [1,0,0,0,1] </div><div class="crayon-line" id="crayon-5955309168b83400732528-3"># change the pin accpording to your wiring</div><div class="crayon-line crayon-marked-line crayon-top crayon-bottom crayon-striped-line" id="crayon-5955309168b83400732528-4">default_pin = 7</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0094 seconds] –>&#13; <p>Die Werte in den eckigen Klammern der Zeile <em>default_key</em> &#228;ndern wir so ab, dass sie dem oben eingestellten Systemcode entsprechen. Den <em>default_pin</em> &#228;ndern wir auf den von uns gew&#228;hlten GPIO Pin unseres Raspberry Pi. Der hier verwendete GPIO Pin #7 entspricht dem physischen Pin #26.</p> <p style=„padding-left: 30px;“><strong>Achtung:</strong> Bitte beachtet, dass die GPIO Pin Nummerierung etwas inkonsistent gehandhabt wird. GPIO Pin #7 ist nicht mit dem physikalischen Pin #7 zu verwechseln! Zu allem &#220;berfluss gibt es noch Unterschiede in der Pinbelegung zwischen den ersten Rev. 1 Boards und den aktuelleren Rev. 2 Boards. Am besten ihr schaut euch die oben erw&#228;hnte Seite bei <a href=„http://elinux.org/RPi_Low-level_peripherals#Introduction“>elinux.org</a> an oder nutzt diese sehr hilfreiche <a href=„http://www.digitaloffensive.com/wp-content/uploads/2013/05/Raspberry-Pi-GPIO-Layout-Revision-2-e1347664831557.png“>Grafik</a> hier und druckt sie euch als Referenz aus.</p> <p>Die oben erw&#228;hnten &#196;nderungen werden eigentlich nur ben&#246;tigt, wenn man elropi.py direkt anspricht, um die Dose zu schalten. Das k&#246;nnen wir jetzt schon mal testen</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168bbe522190296" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div></div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

sudo python elropi.py 1 0</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168bbe522190296-1">1</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168bbe522190296-1">sudo python elropi.py 1 0</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0033 seconds] –>&#13; <p>schaltet die Dose Nummer 1 aus,</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168bef926232314" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div></div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

sudo python elropi.py 1 1</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168bef926232314-1">1</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168bef926232314-1">sudo python elropi.py 1 1</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0033 seconds] –>&#13; <p>schaltet sie ein. Der erste Parameter ist also die Dosennummer (hier A), der zweite der gew&#252;nschte Zustand. Weil wir hier direkt mit der Maschine reden, kann das nur als superuser ausgef&#252;hrt werden, deshalb der

sudo 

vornedran.</p> <p>F&#252;r den Fall, dass ihr mehr als eine Schaltsteckdose anschlie&#223;en wollt: Die Dosennummer wird in 2er Potenzen hochgez&#228;hlt: Dose A =1, Dose B =2, Dose C = 4, Dose D = 8)</p> <h3>In eigene Programme einbinden</h3> <p>F&#252;r eigene Shell Programme (Bash Skript) k&#246;nnt ihr den Programmaufruf wie oben direkt in das Skript einbinden.</p> <p>Bei <strong>Python</strong> geht man wie folgt vor:</p> <p>Am Anfang des Python Skripts einfach die Zeile</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168c20830069166" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div>Python</div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

from elropi import RemoteSwitch</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168c20830069166-1">1</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168c20830069166-1">from elropi import RemoteSwitch</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0038 seconds] –>&#13; <p>einf&#252;gen. Das vorhin erstellte Programm

elropi.py

sollte im selben Verzeichnis liegen, wie euer Python Programm. Wer Python besser beherrscht als ich, wird sicher auch eine elegantere L&#246;sung finden, bei der

elropi.py

in einem zentralen Library Verzeichnis abgelegt und von dort aus aufgerufen werden.</p> <p>Die weiter oben vorgenommenen Einstellungen im Programm elropi.py n&#252;tzen uns hier nichts. Bei Verwendung der importierten Klasse m&#252;ssen die die Steuerungsparameter deshalb im aufrufenden Programm wie folgt eingestellt werden</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168c53836508102" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div>Python</div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

# change device number according to your requirements&#13; deviceno=1&#13; # Change the key[] variable below according to the dipswitches on your Elro receivers.&#13; default_key = [1,0,1,0,1]&#13; # change the GPIO pin according to your wiring&#13; default_pin =7</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168c53836508102-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5955309168c53836508102-2">2</div><div class="crayon-num" data-line="crayon-5955309168c53836508102-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-5955309168c53836508102-4">4</div><div class="crayon-num" data-line="crayon-5955309168c53836508102-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-5955309168c53836508102-6">6</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168c53836508102-1"># change device number according to your requirements</div><div class="crayon-line crayon-striped-line" id="crayon-5955309168c53836508102-2">deviceno=1</div><div class="crayon-line" id="crayon-5955309168c53836508102-3"># Change the key[] variable below according to the dipswitches on your Elro receivers.</div><div class="crayon-line crayon-striped-line" id="crayon-5955309168c53836508102-4">default_key = [1,0,1,0,1]</div><div class="crayon-line" id="crayon-5955309168c53836508102-5"># change the GPIO pin according to your wiring</div><div class="crayon-line crayon-striped-line" id="crayon-5955309168c53836508102-6">default_pin =7</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0110 seconds] –>&#13; <p>und mit</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168c84432127299" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover expand" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div>Python</div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

# set parameters for class elropi.py&#13; device = RemoteSwitch(device=deviceno,key=default_key,pin=default_pin)</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168c84432127299-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5955309168c84432127299-2">2</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168c84432127299-1"># set parameters for class elropi.py</div><div class="crayon-line crayon-striped-line" id="crayon-5955309168c84432127299-2">device = RemoteSwitch(device=deviceno,key=default_key,pin=default_pin)</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0082 seconds] –>&#13; <p>in das Device Objekt hineingeschrieben. Eingeschaltet wird die Dose dann mit</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168cb3348028312" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div>Python</div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

device.switchOn()</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168cb3348028312-1">1</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168cb3348028312-1">device.switchOn()</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0030 seconds] –>&#13; <p>Ausgeschaltet mit</p><!– Crayon Syntax Highlighter v_2.7.2_beta –>&#13; &#13;

	<div id="crayon-5955309168ce0864007172" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">&#13;
	&#13;
		<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">&#13;
		<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Zeilennummern"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-plain-button" title="Unformatierte Code-Ansicht"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-wrap-button" title="Zeilenumbruch umschalten"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-expand-button" title="Code aufklappen"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"/></div><div class="crayon-button crayon-popup-button" title="Code in einem neuen Fenster anzeigen"><div class="crayon-button-icon"/></div>Python</div></div>&#13;
		<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"/>&#13;
		<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">

device.switchOff()</textarea></div>&#13;

		<div class="crayon-main" style="">&#13;
			<table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show">&#13;
				<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5955309168ce0864007172-1">1</div></div>&#13;
			</td>&#13;
					<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5955309168ce0864007172-1">device.switchOff()</div></div></td>&#13;
				</tr></table></div>&#13;
	</div>&#13;

<!– [Format Time: 0.0030 seconds] –>&#13; <p>Dabei die Gro&#223;/Kleinschreibung beachten&#8230;</p> <p>Hier zwei Anwendungsbeispiele: <a href=„http://chriskrz.selfhost.bz/index.php/haengenden-router-automatisch-rebooten/“>H&#228;ngenden Router automatisch rebooten</a> und<a href=„http://chriskrz.selfhost.bz/index.php/iot-heizungssteuerung-1-lcd-panel/“> IoT Heizungssteuerung</a>. Viel Spa&#223;!</p> <p>Kommentare jederzeit willkommen.</p> </html>