Qgelm

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>

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information