<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KMatthias</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KMatthias"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/KMatthias"/>
	<updated>2026-05-01T00:59:27Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=11440</id>
		<title>Universalsensor</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=11440"/>
		<updated>2015-06-07T15:21:46Z</updated>

		<summary type="html">&lt;p&gt;KMatthias: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Universalsensor-CC1101-Innen.jpg|200px|thumb|right|Universalsensor im Innengehäuse]]&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen.jpg|200px|thumb|right|Universalsensor im Außengehäuse]]&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Die Universalsensor-Platine ist eine Hardwareplattform um verschiedene Sensorwerte auch über unterschiedliche Übertragungsverfahren z.B. für die eigene Homeautomatisierung verfügbar zu machen.&lt;br /&gt;
&lt;br /&gt;
Hier werden die unterschiedliche Platinenlayouts, welche z.B. für einen Innensensor und einen Außensensor verwendet werden können, vorgestellt.&lt;br /&gt;
&lt;br /&gt;
Als Übertragungsmedien sind ein Funkmodul (CC1101) oder ein RS485 Tranceiver (LT1785 oder kompatibel) vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Funkmodul ist eine Anbindung an Funksysteme im 868 Mhz oder auch 433 Mhz-Band möglich. Hiermit kann der Sensor z.B. in ein Homematic Funksystem integriert werden. Aber auch andere Funksysteme sind über eine entsprechende Firmware zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Mit dem RS485 Tranceiver ist z.B. auch eine Integration in das Homematic-Wired System möglich.&lt;br /&gt;
&lt;br /&gt;
Das Platinenlayout der Sensoren enthält zwei Pinleisten welche Arduino-Kompatibel sind. Als Mikrocontroller ist ein Atmega 328p bestückt.&lt;br /&gt;
&lt;br /&gt;
Über diese Erweiterungsports können zusätzlich eigene Sensoren oder auch Aktoren angeschlossen werden. Über eine entsprechende Firmware ist es z.B. möglich auch mehrere 1-Wire-Sensoren abzufragen und deren Werte zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Die Spannungsversorgung erfolgt über 2 AA bzw. AAA Batterien. Damit eine möglichst gute Ausnutzung der Batteriekapazität erzielt wird und auch damit Sensoren mit 3,3 V Spannungsversorgung benutzt werden können, kann ein MAX1724 Stepup-Converter bestückt werden. Dieser stellt eine stabile Spannungsversorgung von 3,3 V zur Verfügung. Als Mindest-Eingangsspannung sind hier dann lediglich 1,2 V notwendig. Somit ist eine Versorung auch nur aus einer Batteriezelle denkbar.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann eine Spannungsversorung über einen Schaltregler erfolgen. Diese Versorgung kommt bei der Bestückungsversion mit RS485-Tranceiver zum Einsatz. Aber auch bei Benutzung mit dem Funkmodul kann diese Spannungsversorgung eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Der Schaltregler erlaubt dann einen recht breiten Eingangsspannungsbreich von 7 V bis 24 V. Außerdem steht dann intern zusätzlich zu den 3,3 V eine Spannung von 5 V zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Innensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Innen platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Innengehäuse. Hier noch ohne Bestückungsoption für RS485 und ohne bestückten SHT10 (Temperatur / Luftfeuchte)]]&lt;br /&gt;
&lt;br /&gt;
Das Layout des Innensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Feuchte (STH10)&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Zusätzlich können über die zwei Pinleisten eigene Sensoren z.B. über eine Erweiterungsplatine angeschlossen werden. Als Beispiel ist hier eine Firmwareversion genannt, bei der mehrere 1-Wire Sensoren an den Sensor angeschlossen werden und abgefragt werden können.&lt;br /&gt;
Zusätzlich zu den unterschiedlichen bestückbaren Sensoren, kann der Innensensor alternativ zum Funkmodul mit einem RS485 Tranceiver bestückt werden.&lt;br /&gt;
Als Spannungsversorgung steht eine Batterieversorgung (1,2 - 3V) oder eine Spannungsversorgung über einen Schaltregler (7 V - 24 V zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
== Außensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen_platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Außengehäuse mit Beschreibung der I2C-Anschlussbelegung.]]&lt;br /&gt;
&lt;br /&gt;
Die Platinengröße des Außensensors ist deutlich kompakter als der Innensensor. Daher ist in dieser Version derzeit nur das Funkmodul bestückbar. Andere Übertragungsverfahren wie z.B. RS485 müssten hier extern realisiert werden.&lt;br /&gt;
Das Layout des Außensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Weitere Sensoren z.B. ein STH10 für Temperatur/Luftfeuchte können über den nach außen geführten I2C-Bus angeschlossen werden. Natürlich existiert auch beim Außensensor die Möglichkeit weitere Sensoren oder auch Aktoren über die beiden Pinleisten anzuschließen.&lt;br /&gt;
&lt;br /&gt;
Dieser {{Link2Forum|Topic=20620|Message=182690|LinkText=Forenbeitrag}} beschreibt, wie der SHT10 auch innerhalb eines Gehäuses benutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Der Helligkeitssensor ==&lt;br /&gt;
[[Datei:SHT10_breakout.jpg|200px|thumb|right|SHT10 Breakout-Board für den Außensensor.]]&lt;br /&gt;
[[Datei:CC1101-Sensor-Außen_mit_Filterfolie.JPG|200px|thumb|right|Das Außengehäuse mit Filterfolie.]]&lt;br /&gt;
[[Datei:Innensensor_Loch_für_Acrylstab_Maße.jpg|200px|thumb|right|Bohrvorlage für den Acrylstab im Innengehäuse.]]&lt;br /&gt;
Der Helligkeitssensor braucht zum sinnvollen Einsatz natürlich die Möglichkeit vom Umgebungslicht beleuchtet zu werden.&lt;br /&gt;
Da der Sensor im Innengehäuse nahe der Lüftungsschlitzen sitzt, wird dieser dadurch bereits beleuchtet. Allerdings fällt hier nur wenig Licht auf den Sensor. Daher ist bei dieser Messmethode die erreichbare Auflösung sehr gering.&lt;br /&gt;
&lt;br /&gt;
Die bessere Möglichkeit ist es, in die Abdeckung des Sensorgehäuses ein 5 mm großes Loch zu bohren. In das Loch wird dann ein kurzer Stift aus Acrylglas eingesetzt. Siehe Bild mit der Bohrvorlage.  Achtung, das Loch ist in horizontaler Ausrichtung nicht genau mittig.&lt;br /&gt;
Der Acrylstab hat nicht genau 5 mm Durchmesser. Es sind 5,2 mm. Man kann dennoch ein 5 mm Loch bohren. Das Einschieben des Stabes in das Loch geht dann allerdings ziemlich schwer. Vor dem Einschieben kann man den Acrylstab an der Innenseite noch leicht anfasen. Dann lässt er sich leichter in das Loch schieben. Die Länge des Acrylstabes Beträgt 17 mm.&lt;br /&gt;
&lt;br /&gt;
Im Außensensor ist die ausreichende Beleuchtung bereits durch die transparente Gehäuseoberseite gewährleistet. Allerdings wird der Sensor in direkter Sonneneinstrahlung übersteuern. Daher kann hier zwischen Sensor und Deckel eine Filterfolie eingelegt werden.&lt;br /&gt;
Die getestete Filterfolie lässt dann nur noch etwa 25% des Lichtes durch. Dadurch übersteuert der Sensor auch im Sommer bei voller Sonneneinstrahlung nicht mehr. Durch den bekannten Filterwert der Folie lässt sich so auch gut ein Umrechnungsfaktor für die Heligkeitsmessung in Lux z.B. in FHEM hinterlegen.&lt;br /&gt;
&lt;br /&gt;
Eine Testreihe mit der Folie im Vergleich mit einem kommerziellen Luxmeter hat den Faktor 0,265 ergeben.&lt;br /&gt;
&lt;br /&gt;
Mit Folie bekommt man mit einer Division durch 0,265 auf den aktuellen Lux-Wert:&lt;br /&gt;
&lt;br /&gt;
$lux = $lum/0.265&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
[[Datei:CC1101-Sensor_Firmwareupdate_mit_dem_Raspberry_Pi.jpg|200px|thumb|right|Firmwareupdate mit dem Raspberry Pi.]]&lt;br /&gt;
&lt;br /&gt;
Aktuell existieren für den Sensor zwei verschiedene Firmwareversionen.&lt;br /&gt;
&lt;br /&gt;
* [[HB-UW-Sen-THPL]] HB-UW-Sen-THPL-I, HB-UW-Sen-THPL-O (Version 0.14)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Innengehäuse oder Außengehäuse&lt;br /&gt;
&lt;br /&gt;
* HWB-ONEWIRE (Experimentel)&lt;br /&gt;
: Homematic-Wired Kompatibles 1-Wire-Temperatursensor-interface&lt;br /&gt;
&lt;br /&gt;
HB-UW-Sen-THPL-I und HB-UW-Sen-THPL-O unterscheiden sich nur durch die Geräte-ID. Dadurch ist es Möglich dass die Sensoren z.B. in der CCU über ein eigenes Icon verfügt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configtaster&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drückt man den Configtaster auf der Platine im Betrieb 1x, so startet man das [[HomeMatic_Devices_pairen|Pairing]]. Die LED fängt langsam an zu blinken. Drückt man den Taster nun nochmal, aber deutlich länger, blinkt die LED sehr schnell (jetzt loslassen). Jetzt kann der Sensor resettet werden. Dazu drückt man den Taster erneut, bis die LED ausgeht. Der Sensor hat sich nun zurückgesetzt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwarekonfiguration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auf einige Einstellungen des Sensors lässt sich über die Kommandozeile Einfluss nehmen. Dazu &amp;quot;set &amp;lt;sensorname&amp;gt; regSet &amp;lt;register&amp;gt; &amp;lt;wert&amp;gt;&amp;quot; eingeben.&lt;br /&gt;
&lt;br /&gt;
;altitude&lt;br /&gt;
:Die Höhe des Sensors über NN in Metern. Ist ein Luftdrucksensor vorhanden, dann wird der ermittelte Druck automatisch auf Druck in NN umgerechnet.&lt;br /&gt;
;burstRx (noch experimentell)&lt;br /&gt;
:Hierbei bleibt der Sensor dauerhaft Empfangsbereit bei höherem Batterieverbrauch. Damit soll es möglich sein, die Sensorwerte on demand vom Sensor anzufordern.&lt;br /&gt;
;ledMode&lt;br /&gt;
:&#039;&#039;on&#039;&#039; die LED leuchtet, wenn der Sensor Daten überträgt, &#039;&#039;off&#039;&#039; die LED leuchtet beim Übertragen der Daten nicht&lt;br /&gt;
;lowBatLimitTHPL&lt;br /&gt;
:Batteriespannung, ab der die Warnung für den Batteriewechsel ausgegeben wird.&lt;br /&gt;
;pairCentral&lt;br /&gt;
:???&lt;br /&gt;
;transmDevTryMax&lt;br /&gt;
:Anzahl der Wiederholungssendungen, sofern kein ACK empfangen wurde.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485-Innen_Platine.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit optional bestückten SHT10 (Temperatur / Luftfeuchte), BMP180 (Luftdruck), TSL2561 (Helligkeit)]]&lt;br /&gt;
&lt;br /&gt;
== OTA (OverTheAir) Firmwareupdate ==&lt;br /&gt;
Die Firmware des Sensor lässt sich, sofern er den so genannten OTAU-Bootloader besitzt einfach per Funk updaten.&lt;br /&gt;
OTA-Update = (&#039;&#039;&#039;O&#039;&#039;&#039;ver &#039;&#039;&#039;T&#039;&#039;&#039;he &#039;&#039;&#039;A&#039;&#039;&#039;ir, -Update also per Funk)&lt;br /&gt;
&lt;br /&gt;
Das Firmwareupdate funktioniert aktuell nur mit CUL/COC oder HM-CFG-USB unter Linux ([[HomeMatic_Firmware_Update#Firmware_Update_mit_CUL.2FHM-CFG-USB_unter_FHEM|Update mit CUL oder HM-CFG-USB unter Linux]]), mit dem &amp;quot;HomeMatic Firmware Update Tool&amp;quot; unter Windows ([[HomeMatic_Firmware_Update#Firmware_Update_mit_HM-CFG-USB_unter_Windows|Update mit HM-CFG-USB unter Windows]]) oder mit einer CCU2. Ein &amp;lt;code&amp;gt;set sensorname fwUpdate dateiname&amp;lt;/code&amp;gt; in der Kommandozeile von FHEM funktioniert derzeit noch nicht.&lt;br /&gt;
&lt;br /&gt;
Für das Update mit flash-ota ist folgendes zu machen:&lt;br /&gt;
&lt;br /&gt;
# [[HomeMatic_Firmware_Update#Firmware_Update_mit_CUL.2FHM-CFG-USB_unter_FHEM|flash-ota herrunterladen und installieren]].&lt;br /&gt;
# Firmware aus dem ZIP rausholen: https://github.com/kc-GitHub/Wettersensor/archive/v0.14_beta.zip&lt;br /&gt;
# flash-ota starten. Z.B. so: &amp;lt;code&amp;gt;sudo ./flash-ota -c /dev/ttyACM0 -f &amp;lt;firmware-file.eq3&amp;gt; -s &amp;lt;seriennummer&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# eine Batterie aus dem Sensor heraus nehmen, Configtaste drücken und gedrückt halten, Batterie wieder einlegen während die Configtaste weiter gedrückt bleibt.&lt;br /&gt;
# Jetzt sollte der Updateprozess starten.&lt;br /&gt;
# Sensor mit FHEM neu pairen. Dann erscheint auch die neue Firmwareversion in FHEM.&lt;br /&gt;
&lt;br /&gt;
== Weitere Firmwareupdate-Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
Alternativ kann der Atmega328p auf der Platine mit einem Arduino-Kompatiblen Bootloader ausgerüstet werden.&lt;br /&gt;
Damit lässt sich dann das Firmwareupdate per USB-UART-Adapter oder auch über den UART-Anschluss von einem [[Raspberry Pi]] einspielen.&lt;br /&gt;
&lt;br /&gt;
== RS485-Version mit 1-Wire Temperatursensoren ==&lt;br /&gt;
Hier ist eine experimentelle Firmware mit der man derzeit die RS485-Version des Sensors in eine 1-Wire - Homematic-Wired Interface &amp;quot;verwandeln&amp;quot; kann.&lt;br /&gt;
Weiteres ist unter [[ HWB-1WIRE-TMP10 ]] nachzulesen.&lt;br /&gt;
&lt;br /&gt;
== Inbetriebnahme ==&lt;br /&gt;
# Batterien einlegen&lt;br /&gt;
# Stelle sicher, dass die HMConfig_SenTHPL.pm im Unterverzeichnis FHEM ist. Ist dem nicht so, [https://github.com/kc-GitHub/Wettersensor/blob/master/Contrib/FHEM/HMConfig_SenTHPL.pm lade sie herunter] und lege sie dort ab. Danach muss FHEM neu gestartet werden (&amp;quot;shutdown restart&amp;quot; in die Kommandozeile eingeben)&lt;br /&gt;
# [[HomeMatic_Devices_pairen|CUL in den Pairingmodus schalten]]&lt;br /&gt;
# Configtaster auf dem Universalsensor drücken&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor Firmware der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten Firmware der RS485 (Wired) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Schematic-RF.pdf Schaltplan und Platinenlayout der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/raw/thorsten/Schematic/Schematic-WIRED.pdf Schaltplan und Platinenlayout der RS485 (Wired) Version]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,20620.0.html Thread im FHEM-Forum]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,22952.0.html Thread im FHEM-Forum zur Entwicklung der Wired-Firmware]&lt;br /&gt;
[[Kategorie:HomeBrew]]&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>KMatthias</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Trick_der_Woche&amp;diff=10405</id>
		<title>Trick der Woche</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Trick_der_Woche&amp;diff=10405"/>
		<updated>2015-03-03T07:24:11Z</updated>

		<summary type="html">&lt;p&gt;KMatthias: Else If ist keine &amp;quot;Schelife&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite enthält Tipps und Tricks, die zu unbedeutend sind, einen eigenen Artikel zu rechtfertigen, alternative Schreibweisen/Lösungen für eine Problem darstellen, Ungenauigkeiten oder unklare Formulierungen in den offiziellen Dokumenten ergänzen und ähnliches. Jeder Eintrag ist typischerweise sehr kurz (wenige Zeilen lang) und beleuchtet vielleicht nur einen Aspekt von Fhem, er kann allgemeiner Natur sein, oder sich auf ein spezielles Gerät oder einen speziellen Anwendungsfall beziehen.&lt;br /&gt;
&lt;br /&gt;
== Februar 2015 ==&lt;br /&gt;
=== 1-wire am GPIO4-Port des RaspberryPi funktioniert nicht mehr nach Systemupdate ===&lt;br /&gt;
Es kann passieren, dass nach einem Systemupdate (apt-get update oder apt-get dist-upgrade) die 1-wire-Geräte am GPIO4-Port plötzlich nicht mehr funktionieren. Eine Problemlösung dazu ist im Artikel &amp;quot;[[Raspberry Pi und 1-Wire#1-wire am GPIO4-Port funktioniert nicht mehr nach Systemupdate]]&amp;quot; beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Backup der Konfiguration (fhem.cfg und fhem.state) bei jedem &amp;quot;save&amp;quot; ===&lt;br /&gt;
Der nachfolgende Codeschnipsel erstellt bei jedem &amp;quot;save&amp;quot; eine Kopie der aktuellen [[Konfiguration]] (fhem.cfg und fhem.state) in ein Verzeichnis &amp;quot;backup_cfg-state&amp;quot; welches unter /opt/fhem/ zu finden ist. Somit kann bei einem Fehler jederzeit auf den letzten Stand zurückgegangen werden.&lt;br /&gt;
Zuerst ins FHEM Befehlsfeld den folgenden Befehl eingeben:&lt;br /&gt;
:&amp;lt;code&amp;gt;{ `mkdir backup_cfg-state` } &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach folgendes [[notify]] anlegen:&lt;br /&gt;
 define backupCfg notify global:SAVE {\&lt;br /&gt;
 my $now = TimeNow();; $now =~ s/ /_/g;; \&lt;br /&gt;
 `cp $attr{global}{configfile} ./backup_cfg-state/fhem.cfg.$now`;;\&lt;br /&gt;
 `cp $attr{global}{statefile} ./backup_cfg-state/fhem.state.$now`;;\&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
Quelle: {{Link2Forum|Topic=30873|Message=234412|LinkText=FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Januar 2015 ==&lt;br /&gt;
=== CUL &amp;amp; CO über Serial ID-einbinden ===&lt;br /&gt;
Bei mehreren USB-Geräten kann es vorkommen, dass sie vertauscht werden z.B. &#039;&#039;/dev/ttyUSB0&#039;&#039; zu&#039;&#039; /dev/ttyUSB1&#039;&#039; oder &#039;&#039;/dev/ttyACM0&#039;&#039; zu &#039;&#039;/dev/ttyACM1&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Um dies zu umgehen, kann man sie über ihre Serial-ID in Fhem einbinden.&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl zeigt die Serial-ID:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;ls -l /dev/serial/by-id&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier die Beispielausgabe eines CUL868, JeeLink, RFXtrx und eines CUL433&lt;br /&gt;
&lt;br /&gt;
 user@xxxx:~# ls -l /dev/serial/by-id&lt;br /&gt;
 lrwxrwxrwx 1 root root 13 Jan  9 23:34 usb-busware.de_CUL868-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
 lrwxrwxrwx 1 root root 13 Jan  9 13:26 usb-FTDI_FT232R_USB_UART_A901RQ9F-if00-port0-&amp;gt; ../../ttyUSB0&lt;br /&gt;
 lrwxrwxrwx 1 root root 13 Jan  9 13:26 usb-RFXCOM_RFXtrx433_A1WZWL5Y-if00-port0-&amp;gt; ../../ttyUSB1&lt;br /&gt;
 lrwxrwxrwx 1 root root 13 Jan  9 21:29 usb-busware.de_CUL433-if00 -&amp;gt; ../../ttyACM1 &lt;br /&gt;
&lt;br /&gt;
Damit lässt sich folgende Definition erstellen:&lt;br /&gt;
&lt;br /&gt;
z.B. für einen CUL868&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define CUL868 CUL /dev/serial/by-id/usb-busware.de_CUL868-if00@9600 1134&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder einen JeeLink&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define Jeelink JeeLink /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A901RQ9F-if00-port0@57600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Einschränkung:&#039;&#039;&#039; Bei CULs von Busware lassen sich nur CUL433 und CUL868 unterscheiden. Zwei CUL868 haben z.B. immer die gleiche Serial-ID.&lt;br /&gt;
&lt;br /&gt;
=== HM LAN Konfig-Adapter Antenne verbessern===&lt;br /&gt;
Die Antenne des [[HM-CFG-LAN LAN Konfigurations-Adapter]] kann man mit etwas Bastelgeschick verlängern um den Empfang zu verbessern. &lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist die Verlängerung auf 1/2 Lambda  (868MHz = 17,27 cm) oder gar 1 Lambda.&lt;br /&gt;
1 Lambda Antennen haben starke Richtwirkung in Form eines gedachten Zylinders, dessen Mittelachse die Antenne ist.&lt;br /&gt;
D.h., Alles was sich in Richtung des Anfangs und des Endes des Antennedrahtes befindet, hat schlechteren Empfang als mit einer kurzen Antenne. Daher muss man die Antenne ggf. genauer ausrichten.&lt;br /&gt;
&lt;br /&gt;
Anleitungen dazu werden an verschiedenen Stellen veröffentlicht, z.B. in &lt;br /&gt;
[http://www.ip-symcon.de/forum/threads/18411-Umbau-HM-LAN-Adapter-auf-Lambda-1-2-Dipol-Antenne diesem Beitrag] im IP-Symcon Forum (anders als der Namen der Anleitung vermuten lässt, liegt hier kein Dipol vor, sondern eine &amp;quot;normale&amp;quot; 1 Lambda Antenne.)&lt;br /&gt;
&lt;br /&gt;
Prinzipiell so dünnen Draht wie möglich verwenden.&lt;br /&gt;
&lt;br /&gt;
Wer noch mehr rausholen will, kann auch zusätzlichen Aufwand betreiben und die Antenne etwas von der Elektronik entfernen, die nämlich Störstrahlung in die Antenne einkoppelt. Oder eine Groundplane bauen.&lt;br /&gt;
Ein Anleitung für die CCU (analog auch für den HM LAN Konfig-Adapter einsetzbar) gibt es [http://www.techwriter.de/beispiel/funkeige.htm hier].&lt;br /&gt;
&lt;br /&gt;
== Dezember 2014 ==&lt;br /&gt;
=== FHT80TF als &amp;quot;Prüfsender&amp;quot; einsetzen  ===&lt;br /&gt;
Da der [[FHT80TF-2]] günstig ist und seinen Zustand ca. alle zwei Minuten sendet, kann er gut zum Ermitteln der Funklage von [[SlowRF]] Komponenten genutzt werden, auch wenn diese nicht senden. Den RSSI einer FS20 Schaltsteckdose kann man z.B. nicht wissen, da die Dose nur ein Empfänger ist. Wenn eine Dose nicht gut funktioniert und man den Verdacht hat, dass sie funktechnisch ungünstig liegt, kann man einen [[FHT80TF-2]] neben die Steckdose legen und man bekommt nach zwei Minuten einen Wert, der (trotz umgekehrter Funkrichtung) gut genug ist, um einem Hinweise zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== November 2014 ==&lt;br /&gt;
=== FS20 Adressschema und die Rolle des Hauscodes  ===&lt;br /&gt;
[[FS20_Allgemein#FS20_Adressierungsschema_.28Vorschlag.29]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oktober 2014 ==&lt;br /&gt;
=== Aktor für Wanddosen ohne Nulleiter  ===&lt;br /&gt;
Zwar gibt es viele Aktoren, die man in Wanddosen hinter Schaltern einbauen kann, oft scheitert deren Nutzung aber daran, dass in vielen Elektroinstalltionen in der Wanddose eines (Licht)schalters kein Nulleiter verlegt ist, den die meisten Aktoren zur eigenen Stromversorgung brauchen. Hier kann der [[RSL 2-Draht Einbauschalter]] helfen, der auch ohne Nulleiter funktioniert und kompatibel zu InterTechno ist. Er lässt sich z.B. mit einem CUL(433) schalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== August 2014 ==&lt;br /&gt;
=== Perl-Skripte Online testen  ===&lt;br /&gt;
Im Internet existieren Webseiten auf denen man Perl-Code online testen kann. Beispielsweise auf [http://www.compileonline.com/execute_perl_online.php compileonline.com] kann man Code zum Testen eingeben und die Auswirkungen betrachten. Dies eignet sich zur schnellen Fehleranalyse oder um Perl zu lernen. Natürlich lassen sich keine Fhem-Besonderheiten nutzen.&lt;br /&gt;
&lt;br /&gt;
== Juli 2014 ==&lt;br /&gt;
=== Funklast reduzieren===&lt;br /&gt;
Bewegungsmelder erzeugen in der Regel eine recht hohe Funklast, wenn sie oft ausgelöst werden, also z.B. Licht in einem Zimmer schalten sollen.&lt;br /&gt;
&lt;br /&gt;
Konstruktionen der Art:&lt;br /&gt;
:&amp;lt;code&amp;gt;define FlurLicht notify Bewegungsmelder_Flur:motion:.* set Licht_Flur on-for-timer 256&amp;lt;/code&amp;gt;&lt;br /&gt;
haben daher den Nachteil bei viel Bewegung im Flur und je nach Einstellung des Sendeabstandes des Bewegungsmelders mindestens alle 120 Sekunde oder öfter ein &lt;br /&gt;
:&amp;lt;code&amp;gt;on-for-timer 256&amp;lt;/code&amp;gt;&lt;br /&gt;
zu senden. Das erzeugt eine hohe Funklast, speziell wenn der Aktor ein SlowRF Gerät ist (z.B. FS20 Unterputzschalter).&lt;br /&gt;
In solchen Fällen kann es helfen, nur dann einen Befehl zu senden, wenn das Licht nicht schon an ist:&lt;br /&gt;
:&amp;lt;code&amp;gt;define FlurLicht notify Bewegungsmelder_Flur:motion:.* { if (Value(&amp;quot;Licht_Flur&amp;quot;) eq &amp;quot;off&amp;quot;) { fhem (&amp;quot;set Licht_Flur1 on-for-timer 256&amp;quot;) } }&amp;lt;/code&amp;gt;&lt;br /&gt;
Nachteilig ist aber, dass eine Auslösung innerhalb 256 Sekunden die Einschaltzeit nicht verlängert. Dies kann man umgehen, indem man nicht on-for-timer verwendet, sondern den Aktor selber verzögert auschaltet und bei weiteren Auslösungen nur die Verzögerung erneut anlegt:&lt;br /&gt;
:&amp;lt;code&amp;gt;define FlurLicht notify Bewegungsmelder_Flur:motion:.* { if (Value(&amp;quot;Licht_Flur1&amp;quot;) eq &amp;quot;off&amp;quot;) { fhem (&amp;quot;set Licht_Flur on ;; define FlurLicht_aus at +00:04:16 set Licht_Flur off&amp;quot;) } else { fhem (&amp;quot;delete FlurLicht_aus ;; define FlurLicht_aus at +00:04:16 set Licht_Flur off&amp;quot;) }}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Juni 2014 ==&lt;br /&gt;
=== Batteriestatus bei HomeMatic Devices aktivieren===&lt;br /&gt;
Zumindest einige (wenn nicht alle) batteriegespeisten HM-Geräte können Batteriemeldungen senden, tun dies in der normalen Konfiguration aber nicht.&lt;br /&gt;
Dazu muss das Register cyclicInfoMsg auf on gesetzt werden. &lt;br /&gt;
&lt;br /&gt;
Wie man das macht steht z.B. hier&lt;br /&gt;
[[HM-SEC-SC_Tür-Fensterkontakt#Batteriestatus_aktivieren]]&lt;br /&gt;
und hier&lt;br /&gt;
[[HomeMatic_Type_ThreeState]]&lt;br /&gt;
&lt;br /&gt;
== Mai 2014 ==&lt;br /&gt;
=== Dummywert mit aktueller Uhrzeit versehen in anderen Dummy kopieren===&lt;br /&gt;
Der Inhalt von Dummy1 soll erweitert um  Uhrzeit und Datum in Dummy2 kopiert werden (z.B. um die Urzeit der letzten Auslösung einer Alarmanlage anzuzeigen)&lt;br /&gt;
:&amp;lt;code&amp;gt;{ fhem(&amp;quot;set dummy2 &amp;quot; . (Value(&amp;quot;Dummy1&amp;quot;).&amp;quot; &amp;quot;.TimeNow()) )  } &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zwei Dummywerte in einen anderen Dummy kopieren ===&lt;br /&gt;
Der String in Dummy1 soll um den String in Dummy2 erweitert und nach Dummy3 kopiert werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;{ fhem(&amp;quot;set Dummy3 &amp;quot;.(Value(&amp;quot;Dummy1&amp;quot;)+Value(&amp;quot;Dummy2&amp;quot;))) } &amp;lt;/code&amp;gt;&lt;br /&gt;
(Achtung: &amp;quot;+&amp;quot;  ist Zahlen addieren, &amp;quot;.&amp;quot; ist String konkatenieren) &lt;br /&gt;
&lt;br /&gt;
== April 2014==&lt;br /&gt;
=== Code sparen ===&lt;br /&gt;
Wer Definitionen wie die aus dem März zum [[Trick der Woche#Zuverlässigkeit von FS20 Schaltungen erhöhen|Abfangen von Fehlbedienungen]] verwendet, kann durch eine ELSE Erweiterung auch gleich das Auschalten erledigen.&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_TV_on notify TV { if (&amp;quot;$EVENT&amp;quot; eq &amp;quot;on&amp;quot; || &amp;quot;$EVENT&amp;quot; eq &amp;quot;dimup&amp;quot;) { fhem(&amp;quot;set TV on&amp;quot;) } else { fhem(&amp;quot;set TV off&amp;quot;) } }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hierdurch schaltet ON oder versehentlich zu langes Drücken (also DIMUP) den Fernseher ein, jeder &#039;&#039;andere&#039;&#039; Tastendruck (also insbesondere die OFF Taste oder zu langes Drücken der OFF Taste -&amp;gt; DIMDOWN) den Fernseher aus.&lt;br /&gt;
&lt;br /&gt;
Voraussetzung ist, dass die Fernbedienung standardkonfiguriert ist, siehe auch nächster Tip.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration eines FS20 Senders prüfen ===&lt;br /&gt;
Gelegentlich reagieren bestimmte notifys nicht, die von Sendern (Fernbedienungen, Sensoren oder Schaltern) ausgelöst werden sollen. Speziell bei FS20 aber auch bei HomeMatic kann das daran liegen, dass der Sender nicht sendet was man denkt. So gut wie alle FS20 Sender kennen nämlich nicht nur ON und OFF, sondern über ein Dutzend Schaltzustände. Dimmen ist einem noch hinreichend bewusst, es gibt aber auch exotische Dinge wie  Ein-für-Zeitdauer, Ein-auf-alte-Helligkeit, Aus-für-Zeitdauer (nur FS20), Ein-für-Zeitdauer-dannach-alter-Zustand und vieles mehr.&lt;br /&gt;
&lt;br /&gt;
Was also ein Infrarot-Bewegungsmelder bei Auslösung sendet und auch was eine Fernbedienungstaste sendet ist einstellbar. Wenn jetzt zum Beispiel an einer Fernbedienung auf Tastendruck nicht ON sondern Ein-für-Zeitdauer (ON-FOR-TIMER) gesendet wird, wird&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_TV_on notify TV:on set TV on&amp;lt;/code&amp;gt;&lt;br /&gt;
seltsamerweise nicht auslösen, obwohl die richtige Taste (und diese auch nicht zu lang) gedrückt wurde.&lt;br /&gt;
&lt;br /&gt;
Auch wenn man sich sicher ist, das Richtige in die Fernbedienung/Sensoren einprogramiert zu haben, ist ein einfacher Test immer, dies mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_TV notify TV set TV on&amp;lt;/code&amp;gt;&lt;br /&gt;
zu prüfen. Dieses notify löst immer aus, wenn &amp;quot;TV&amp;quot;  &#039;&#039;irgendetwas&#039;&#039; sendet, egal was. (Beachte: Man kann dann den Fernseher aber nicht mehr ausschalten, da auch die Austaste das notify auslöst und zum TV-Aktor nur &amp;quot;on&amp;quot; sendet). Geht die Schaltung jetzt (kann man den Fernseher also jetzt EINschalten), liegt der Verdacht nahe, dass die Konfiguration des Senders / Sensors anders ist, als man denkt. Das Logfile gibt Aufschluss, welcher Befehl tatsächlich empfangen wurde.&lt;br /&gt;
&lt;br /&gt;
=== Alles in FHEM, nichts in der Fernbedienung ===&lt;br /&gt;
Versuche in deiner FHEM Umgebung nicht, das Verhalten von Aktoren durch entsprechende Befehle aus Sensoren oder Fernbedienungen zu steuern. An Besten senden die nur ON und OFF oder DIM, den Rest möglichst immer in FHEM erledigen. &lt;br /&gt;
&lt;br /&gt;
Wer eine Lampe immer für vier Minuten einschalten will, programmiert seinen Schalter (Fernbedienung) also so, das nur &amp;quot;on&amp;quot; gesendet wird und erledigt den Rest in FHEM:&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_Schalter notify Schalter set Lampe-on-for-timer 240&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielfach wird argumentiert, das eine dirkete Kopplung die Zuverlässigkeit erhöht, da bei einem Ausfall von FHEM der Aktor totzdem schaltbar sei.&lt;br /&gt;
Überlege, ob es hier nicht weniger komplex ist, die Zuverlässigkeit der FHEM Instanz zu erhöhen.&lt;br /&gt;
&lt;br /&gt;
== März 2014==&lt;br /&gt;
=== Zuverlässigkeit von FS20 Schaltungen erhöhen ===&lt;br /&gt;
FS20 Fernbedienungen senden bei Tastendrücken von mehr als 0,4 Sekunden anstatt ON bzw. OFF DIMUP bzw DIMDOWN.&lt;br /&gt;
&lt;br /&gt;
Das führt gelegentlich zu allgemein schlechter Bedienbarkeit (und schlechtem WAF), da 0,4 Sekunden relativ kurz ist und gerne aus versehen länger gedrückt wird. Das ist vor allem problematisch, wenn etwas geschaltet werden soll, was keinen Dimmer hat oder Dimmen nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
Eine Konfiguration wie &lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_TV_on notify TV:on set TV on&amp;lt;/code&amp;gt;&lt;br /&gt;
hat also dann den Nachteil, dass bei versehentlich zu langem Tastendruck das TV nicht angeht. Da die meisten Nutzer unbewusst dazu neigen, bei Misserfolg die selbe Taste erneut aber länger zu drücken (was erneut keinen Erfolg zeigt) ist Frustration zu erwarten.&lt;br /&gt;
&lt;br /&gt;
Es kann daher speziell bei nicht dimmbaren Aktoren von Vorteil sein, auch dimmen abzufangen, z.B. durch eine zweite zusätzliche Definition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_TV_dimup notify TV:dimup set TV on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist in der Regel einfacher, einige dieser zusätzlichen Definitionen einzufügen, als allen Bedienern des Systems zu erklären, dass man keinesfalls länger als 0,4 Sekunden drücken darf.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man auch beide Befehle in einer Definition durch Perlbefehle {} abfangen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_TV_on notify TV { if (&amp;quot;$EVENT&amp;quot; eq &amp;quot;on&amp;quot; || &amp;quot;$EVENT&amp;quot; eq &amp;quot;dimup&amp;quot;) { fhem(&amp;quot;set TV on&amp;quot;) }}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Andere Möglichkeiten vergleiche: [[Trick der Woche#notify durch mehrere Ereignisse auslösen lassen|Notify durch mehrere Ereignisse auslösen lassen]]&lt;br /&gt;
&lt;br /&gt;
== Februar 2014==&lt;br /&gt;
=== Sequence nutzen ===&lt;br /&gt;
Man kann Aktionen statt mit einem Tastedruck auch mit einer Sequenz von Tastendücken auslösen. Das Format des Befehle ist:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; sequence &amp;lt;re1&amp;gt; &amp;lt;timeout1&amp;gt; &amp;lt;re2&amp;gt; [&amp;lt;timeout2&amp;gt; &amp;lt;re3&amp;gt; ...] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;re1&amp;gt; ...&amp;lt;re_n&amp;gt; die Aktionen sind und &amp;lt;timeout_n&amp;gt; der maximale Abstand der Tastendrücke in Sekunden.&lt;br /&gt;
&lt;br /&gt;
Angenommen, man wolle z.B. eine Lampe dann anschalten, wenn man zuerst Taste1 EIN, dann Taste2 AUS und dann wieder Taste1 EIN einer Fernbedienung drückt, könnte das konkret so aussehen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define MeineLampenSequenz1 sequence Btn1:on 0.5 Btn2:off 0.5 Btn1:on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zwischen jedem der Tastendrücke darf eine halbe Sekunde Abstand sein. Diese Definition selbst löst die Lampe nicht aus, sondern definiert nur wie die Sequenz aussehen soll. Um die Lampe bei erfolgreicher Betätigung der Sequenz auch einzuschalten, bedarf es zusätzlich etwas wie:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define MeineLampe notify MeineLampenSequenz1:trigger set Lampe on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sequence kann man gut nutzen, um mit einer Fernbedienung mehr Funktionen zu schalten als Tasten zur Verfügung stehen. Ebenso könnte man damit simple Codeschlösser für Alarmanlagen bauen, z.B. um eine Anlage auszuschalten, wenn eine bestimmte Abfolge von Tasten gedrückt wird.&lt;br /&gt;
&lt;br /&gt;
Je nach Funksystem nimmt die Zuverlässigkeit aber rasch ab. Angenommen im Bereich FS20 (das System ist etwas unzuverlässiger ist als z.B. HomeMatic) seien 95% aller Funktsignale ungestört übertragbar, dann würden in der Praxis von 100 Tastendrücken an einer Fernbedienung 95x Erfolg zeigen und 5x fehlschlagen; das ist sicher tolerabel. &lt;br /&gt;
&lt;br /&gt;
Bei einer Sequenzlänge von nur 4 Tasten würde die kombinierte Erfolgsquote der Sequenz jedoch nur noch ca. 80% sein, zum Ausschalten einer Alarmanlage vermutlich bereits unpraktisch.&lt;br /&gt;
&lt;br /&gt;
== Januar 2014==&lt;br /&gt;
===isday===&lt;br /&gt;
Bekanntlich kann man  mit &amp;quot;isday&amp;quot; leicht testen ob es draussen hell ist oder nicht. isday ist eine Funktion des (automatisch geladenen) Moduls [[SUNRISE_EL]], das auch sunset und sunrise enthält.&lt;br /&gt;
&lt;br /&gt;
Problematisch bei isday ist die fehlende Möglichkeit, Sonnenaufgang und Untergang einzustellen (zumindest wenn man nicht 99_SUNRISE_EL.pm verändern will): isday ist wahr, wenn die Sonne im gegebenen Breitengrad sichtbar ist. Wenn örtliche Gegebenheiten eine Anpassung erfordern, kann man sich auch ein eigenes isday basteln, in dem man sunrise und sunset verwendet und dieses mit getrennten offsets versieht.&lt;br /&gt;
&lt;br /&gt;
Zuerst definiert man sich eine Variable (&amp;quot;dummy&amp;quot;) der anstelle isday eingesetzt werden soll, z.B.:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define Tageslicht dummy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann wird diese mit sunset und sunrise befüllt:&lt;br /&gt;
&lt;br /&gt;
 define SetDummy1 at *{sunset(-3600)} set Tageslicht hell &lt;br /&gt;
 define SetDummy2 at *{sunrise(+1800)} set Tageslicht dunkel &lt;br /&gt;
&lt;br /&gt;
Jetzt kann für jeden Wechsel ein eigener Offset gewählt werden, im Beispiel 3600 Sekunden vor Sonnenuntergang und 1800 Sekunden nach Sonnenaufgang. Anstatt das Dummy &amp;quot;Tageslicht&amp;quot; mit den Werten &amp;quot;hell/dunkel&amp;quot; zu befüllen, kann natürlich auch 1/0 oder &amp;quot;Tag/Nacht&amp;quot; etc. verwendet werden, je nach dem was bei der Anwendung besser passt.&lt;br /&gt;
&lt;br /&gt;
Für höhere Ansprüche könnte hingegen das [[Twilight]]-Modul verwendet werden, das Dämmerungsstufen kennt.&lt;br /&gt;
&lt;br /&gt;
===Struktur von &amp;quot;else if&amp;quot; Verzweigungen===&lt;br /&gt;
 define ... notify ... {\&lt;br /&gt;
  if ... {\&lt;br /&gt;
   fhem (&amp;quot;... ;; ...&amp;quot;)\&lt;br /&gt;
  }\&lt;br /&gt;
  elsif {\&lt;br /&gt;
   if ... {\&lt;br /&gt;
    fhem (&amp;quot;... ;; ...&amp;quot;)\&lt;br /&gt;
  }\&lt;br /&gt;
  elsif {\&lt;br /&gt;
   if ... {\&lt;br /&gt;
    fhem (&amp;quot;... ;; ...&amp;quot;)\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
   if ... {\&lt;br /&gt;
    fhem (&amp;quot;... ;; ...&amp;quot;)\&lt;br /&gt;
  }\&lt;br /&gt;
 }}}}&lt;br /&gt;
&lt;br /&gt;
Achtung: es muss tatsächlich &amp;quot;elsif&amp;quot; heissen und nicht &amp;quot;elseif&amp;quot; oder &amp;quot;else if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Gilt für Perl Aufrufe.&lt;br /&gt;
&lt;br /&gt;
== Dezember 2013==&lt;br /&gt;
===notify durch mehrere Ereignisse auslösen lassen===&lt;br /&gt;
Bekanntermassen löst&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define irgendwas notify MeinSchalter …&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
aus, wenn irgendein Ereignis vom Sender &amp;quot;MeinSchalter&amp;quot; eintrifft.&lt;br /&gt;
&lt;br /&gt;
Mit&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define irgendwas notify MeinSchalter:on …&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wird das notify jedoch nur ausgelöst, wenn dieses Ereignis eine &amp;quot;on&amp;quot; ist.&lt;br /&gt;
Wenn man aber möchte, das z.B. &amp;quot;on&amp;quot; und &amp;quot;off&amp;quot; auslöst (um etwa Dim-Befehle auszuschliessen) kann dies wie folgt erreicht werden:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define irgendwas notify MeinSchalter:(on|off) …&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Klammern sind wichtig, vergleiche eine Lösung, bei der zwei Sender alternativ das notify auslösen können:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define irgendwas notify MeinSchalter:on|MeinAndererSchalter:on …&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Selbstverständlich geht z.B. auch folgendes:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define irgendwas notify MeinSchalter:on|MeinAndererSchalter …&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier wird ausgelöst wenn &amp;quot;MeinSchalter&amp;quot; das Ereignis &amp;quot;on&amp;quot; liefert oder &amp;quot;MeinAndererSchalter&amp;quot; irgendein Ereignis&lt;br /&gt;
&lt;br /&gt;
=== Aktoren über mehrere Funkschnittstellen ansprechen ===&lt;br /&gt;
Falls man mehrere Funkschnittstellen zur Reichweitenverlängerung hat (CUL / CUNO etc), und ein Aktor von beiden Funkschnittstellen in etwa gleich (schlecht) erreichbar ist, mag der Wunsch aufkommen, einen Funkbefehl über beide Schnittstellen auszusenden. Dies ist bei Funkprotokollen möglich, die kein echtes Pairing der Aktoren an die Funkschnittstelle erfordern, also z.B. FS20 oder Intertechno, nicht jedoch bei HomeMatic.&lt;br /&gt;
&lt;br /&gt;
Problematisch ist aber, dass die Funkschnittstelle über IODev eindeutige je Aktor festgelegt werden muss, eine Zuordnung mehrerer IODevs ist nicht vorgesehen.&lt;br /&gt;
(wenn man IODev nicht setzt, wird per default die LETZTE definiert passende Schnittstelle verwendet)&lt;br /&gt;
&lt;br /&gt;
Dieses Problem kann mit einem Trick aber umgangen werden. Und zwar legt man den Aktor 2x mit gleicher Adresse aber abweichenden Namen und IOdevs an, z.B. so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 define brenner_CUL1 FS20 11114244 11&lt;br /&gt;
 attr brenner_CUL1 IODev CUL1&lt;br /&gt;
 attr brenner_CUL2 room Keller&lt;br /&gt;
&lt;br /&gt;
 define brenner_CUL2 FS20 11114244 11&lt;br /&gt;
 attr brenner_CUL2 IODev CUL2&lt;br /&gt;
 attr brenner_CUL2 room Keller&lt;br /&gt;
&lt;br /&gt;
Ein Befehl der Art:&lt;br /&gt;
&lt;br /&gt;
 set brenner_CUL1,brenner_CUL2 on&lt;br /&gt;
&lt;br /&gt;
sendet den ON Befehl für den FS20 Aktor 11114244 11  jetzt tatsächlich über beide CULs aus!&lt;br /&gt;
&lt;br /&gt;
Achtung: Wenn die Schnittstellen gleichschnell angebunden sind, sollte vermutlich der [[Sendpool]] verwendet werden, da die Aussendungen sonst tatsächlich gleichzeitig erfolgen könnten und sich dann gegenseitig stören würden.&lt;br /&gt;
&lt;br /&gt;
=== Retrycount bei FHTs ist überflüssig===&lt;br /&gt;
Das von der Funktion &#039;&#039;autocreate&#039;&#039; älterer FHEM Versionen beim Anlegen von FHT80 Heizungsreglern voreingetragene attribute &amp;quot;retrycount&amp;quot; hat in den allermeisten Fällen keine Wirkung, da es NUR greift, wenn man als Funkschnittstelle eine FHZ1X00PC verwendet und dann den Softbuffer einschaltet. Selbst wenn man diese Konfiguration nutzt, will gut überlegt werden, ob die Wirkung postiv ist: Bei ungenügender Empfangslage vergrössert es Kommunikationsprobleme eventuell sogar.&lt;br /&gt;
&lt;br /&gt;
Es kann also in der Regel entfernt oder auf den Wert &amp;quot;1&amp;quot; gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
 define Heizung_Bad FHT 060d&lt;br /&gt;
 attr Heizung_Bad retrycount 3       &amp;lt;=== Diese Zeile entfernen&lt;br /&gt;
&lt;br /&gt;
Siehe auch:[[Kommunikationsprobleme mit FHT]]&lt;br /&gt;
&lt;br /&gt;
== November 2013 ==&lt;br /&gt;
=== FS20 Funksteckdose sicherer schalten===&lt;br /&gt;
Seltsamerweise kommt es vor, das FS20 Aktoren - insbesondere die FS20 Funksteckdose - an der Grenze der Funkreichweite bestimmte Befehle eines Typs empfängt, andere aber nicht. Z.B. lässt sich die FS20 Steckdose zwar immer einschalten, aber oft nicht mehr aus (oder umgekehrt).&lt;br /&gt;
&lt;br /&gt;
Gelegentlich kann man die Zuverlässigkeit erhöhen, indem man statt dem nicht funktionierenden Befehl das Gegenteil mit &amp;quot;for-timer 1&amp;quot; verwendet.&lt;br /&gt;
&lt;br /&gt;
Im Fall, dass eine FS20 Steckdose sich also einwandfrei EINschalten lässt:&lt;br /&gt;
:&amp;lt;code&amp;gt;set SteckdoseA on&amp;lt;/code&amp;gt;&lt;br /&gt;
aber oft ein AUSschalten mittels&lt;br /&gt;
:&amp;lt;code&amp;gt;set SteckdoseA off&amp;lt;/code&amp;gt;&lt;br /&gt;
nicht funktioniert, kann man versuchen die Dose anstelle mit &amp;quot;off&amp;quot; mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;set SteckdoseA on-for-timer 1&amp;lt;/code&amp;gt;&lt;br /&gt;
auszuschalten.&lt;br /&gt;
&lt;br /&gt;
Analog kann man mit off-for-timer arbeiten, wenn sich Aktoren nicht einschalten lassen, ausschalten aber geht.&lt;br /&gt;
&lt;br /&gt;
Achtung: Dieser Trick funtioniert ausdrücklich nur, wenn der &amp;quot;on/off-for-timer&amp;quot; Befehl im Aktor selber abgebildet wird. Daher ist der Trick vermutlich nicht auf andere Funksysteme übertragbar. z.B. unterstützt HM nur on-for-timer und Intertechno kennt keinen Timer.&lt;br /&gt;
&lt;br /&gt;
=== Mehrere Geräte zugleich schalten===&lt;br /&gt;
Ein Ereignis soll mehrere Geräte schalten:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_Bewegungsmelder notify Bewegungsmelder set Lampe1 on;;set Lampe2 on;;set FunksteckdoseA on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aus Übersichtlichkeitsgründen können vor und nach den Semikolons auch Leerzeichen eingefügt werden (obwohl in einigen Dokumentation behauptet wird, dies dürfe man nicht machen):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_Bewegungsmelder notify Bewegungsmelder set Lampe1 on ;; set Lampe2 on ;; set FunksteckdoseA on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Schaltbefehl bei allen Geräten gleich ist, kann man wie folgt zusammenfassen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define act_on_Bewegungsmelder notify Bewegungsmelder set Lampe1,Lampe2,FunksteckdoseA on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Komma wird nicht [[Escapen in Perlbefehlen|escaped]] (verdoppelt), hier darf tatsächlich KEIN Leerzeichen vor oder nach dem Komma eingefügt werden.&lt;br /&gt;
&lt;br /&gt;
=== Logfileinträge unterdrücken===&lt;br /&gt;
Das Attribute &amp;quot;verbose 0&amp;quot; verhindert, dass das Gerät Logfileinträge erzeugt.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 define Funksteckdose FS20 22224222 01&lt;br /&gt;
 attr Funksteckdose verbose 0&lt;br /&gt;
&lt;br /&gt;
===FHT Lazy Mode benutzen===&lt;br /&gt;
Es gibt wenig Gründe, den FHT &amp;quot;Lazy Mode&amp;quot; nicht zu verwenden&lt;br /&gt;
 define Heizung_Bad FHT 060d&lt;br /&gt;
 attr Heizung_Bad lazy&lt;br /&gt;
&lt;br /&gt;
Dieser sorgt dafür, dass Temperaturänderungen (genau genommen alle Änderungen, auch z.B. date) nur übertragen werden, wenn sie nicht sowieso schon am FHT eingestellt sind und veringern die Funklast dadurch deutlich. &lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Kommunikationsprobleme mit FHT]]&lt;br /&gt;
&lt;br /&gt;
== Oktober 2013 ==&lt;br /&gt;
=== Zuverlässigkeit von Wiedereinschalten erhöhen ===&lt;br /&gt;
Speziell bei FS20 Aktoren ist wegen des fehlenden Rückkanals nicht leicht erkennbar, ob ein Einschaltbefehl Wirkung gezeigt hat. Das hat ganz schlechten WAF, wenn man z.B. mit einem FS20 Aktor eine Heizung ausschaltet und das Wiedereinschalten nach z.B. einer Stunde nicht klappt.&lt;br /&gt;
&lt;br /&gt;
Hier empfiehlt es sich, das Ausschalten mittels &lt;br /&gt;
:&amp;lt;code&amp;gt;set Heizungs_schalter off-for-timer 3584&amp;lt;/code&amp;gt;   (= fast eine Stunde)&lt;br /&gt;
zu erledigen. Da bei FS20 der off-for-timer Befehl im Aktor abgewickelt wird (und nicht durch FHEM), schaltet sich der Aktor auch dann garantiert wieder ein, wenn Fhem abstürzt, eine Funkstörung vorliegt oder ähnliches.  Bei Bedarf kann der Befehl off-for-timer zur  Verlängerung der Ausschaltzeit wiederholt werden. Dies kann z.B. nötig sein, wenn die Ausschaltung länger als 4,5 Stunden (15360 Sekunden, der Maximalwert des Timers) dauern soll.&lt;br /&gt;
&lt;br /&gt;
Achtung: dieser Trick funktioniert nur, wenn der Aktor &amp;quot;off-for-timer&amp;quot; selbst beherrscht. FS20 Geräte können das, HomeMatic können aber nur &amp;quot;on-for-timer&amp;quot;. Man kann off-for-timer mit HomeMatic trotzdem verwenden, aber in diesem Fall sendet Fhem den Einschaltbefehl nach der Timerzeit. InterTechno, RSL etc, können gar keinen Timer, hier sendet Fhem immer 2 Befehle im passenden Abstand.&lt;br /&gt;
&lt;br /&gt;
=== FS20 Timerzeiten ===&lt;br /&gt;
FS20 Timer werden in Sekunden angegeben. Es sind jedoch nicht alle Werte einstellbar. Da der Timer Wert in 7 Bit übertragen werden muss, sind nur 128 Werte möglich. Um mit diesen Werten im unteren Bereich möglichst fein aufzulösen, andererseits aber auch lange Zeiten zu ermöglichen, ist die Verteilung nicht linear. Einstellbar sind folgende Zeiten in Sekunden;&lt;br /&gt;
&lt;br /&gt;
0,25  0,5  0,75  1  1,25  1,5  1,75  2  2,25  2,5  2,75  3  3,25  3,5  3,75   &lt;br /&gt;
4  4,5  5  5,5  6  6,5  7  7,5  8  9  10  11  12  13  14  15  16  18  20  22   &lt;br /&gt;
24  26  28  30  32  36  40  44  48  52  56  60  64  72  80  88  96  104  112   &lt;br /&gt;
120  128  144  160  176  192  208  224  240  256  288  320  352  384  416   &lt;br /&gt;
448  480  512  576  640  704  768  832  896  960  1024  1152  1280  1408   &lt;br /&gt;
1536  1664  1792  1920  2048  2304  2560  2816  3072  3328  3584  3840  4096   &lt;br /&gt;
4608  5120  5632  6144  6656  7168  7680  8192  9216  10240  11264  12288   &lt;br /&gt;
13312  14336  15360 &lt;br /&gt;
(etwas übersichtlicher formatiert auch [[FS20 Allgemein#ON/OFF Befehle mit Time Parameter|hier]]).&lt;br /&gt;
 &lt;br /&gt;
Andere Zeiten werden von Fhem gerundet. Ein neues Setzen des Timer für FS20 löscht den alten Wert.&lt;br /&gt;
&lt;br /&gt;
===Butterflecken in Wollpullovern===&lt;br /&gt;
Butterflecken in Wollpullovern können leicht durch grossflächiges Aufstreichen von Teer beseitigt werden.&lt;/div&gt;</summary>
		<author><name>KMatthias</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10274</id>
		<title>Universalsensor</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10274"/>
		<updated>2015-02-21T06:41:45Z</updated>

		<summary type="html">&lt;p&gt;KMatthias: Configtaster ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Universalsensor-CC1101-Innen.jpg|200px|thumb|right|Universalsensor im Innengehäuse]]&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen.jpg|200px|thumb|right|Universalsensor im Außengehäuse]]&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Die Universalsensor-Platine ist eine Hardwareplattform um verschiedene Sensorwerte auch über unterschiedliche Übertragungsverfahren z.B. für die eigene Homeautomatisierung verfügbar zu machen.&lt;br /&gt;
&lt;br /&gt;
Hier werden die unterschiedliche Platinenlayouts, welche z.B. für einen Innensensor und einen Außensensor verwendet werden können, vorgestellt.&lt;br /&gt;
&lt;br /&gt;
Als Übertragungsmedien sind ein Funkmodul (CC1101) oder ein RS485 Tranceiver (LT1785 oder kompatibel) vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Funkmodul ist eine Anbindung an Funksysteme im 868 Mhz oder auch 433 Mhz-Band möglich. Hiermit kann der Sensor z.B. in ein Homematic Funksystem integriert werden. Aber auch andere Funksysteme sind über eine entsprechende Firmware zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Mit dem RS485 Tranceiver ist z.B. auch eine Integration in das Homematic-Wired System möglich.&lt;br /&gt;
&lt;br /&gt;
Das Platinenlayout der Sensoren enthält zwei Pinleisten welche Arduino-Kompatibel sind. Als Mikrocontroller ist ein Atmega 328p bestückt.&lt;br /&gt;
&lt;br /&gt;
Über diese Erweiterungsports können zusätzlich eigene Sensoren oder auch Aktoren angeschlossen werden. Über eine entsprechende Firmware ist es z.B. möglich auch mehrere 1-Wire-Sensoren abzufragen und deren Werte zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Die Spannungsversorgung erfolgt über 2 AA bzw. AAA Batterien. Damit eine möglichst gute Ausnutzung der Batteriekapazität erzielt wird und auch damit Sensoren mit 3,3 V Spannungsversorgung benutzt werden können, kann ein MAX1724 Stepup-Converter bestückt werden. Dieser stellt eine stabile Spannungsversorgung von 3,3 V zur Verfügung. Als Mindest-Eingangsspannung sind hier dann lediglich 1,2 V notwendig. Somit ist eine Versorung auch nur aus einer Batteriezelle denkbar.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann eine Spannungsversorung über einen Schaltregler erfolgen. Diese Versorgung kommt bei der Bestückungsversion mit RS485-Tranceiver zum Einsatz. Aber auch bei Benutzung mit dem Funkmodul kann diese Spannungsversorgung eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Der Schaltregler erlaubt dann einen recht breiten Eingangsspannungsbreich von 7 V bis 24 V. Außerdem steht dann intern zusätzlich zu den 3,3 V eine Spannung von 5 V zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Innensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Innen platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Innengehäuse. Hier noch ohne Bestückungsoption für RS485 und ohne bestückten SHT10 (Temperatur / Luftfeuchte)]]&lt;br /&gt;
&lt;br /&gt;
Das Layout des Innensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Feuchte (STH10)&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Zusätzlich können über die zwei Pinleisten eigene Sensoren z.B. über eine Erweiterungsplatine angeschlossen werden. Als Beispiel ist hier eine Firmwareversion genannt, bei der mehrere 1-Wire Sensoren an den Sensor angeschlossen werden und abgefragt werden können.&lt;br /&gt;
Zusätzlich zu den unterschiedlichen bestückbaren Sensoren, kann der Innensensor alternativ zum Funkmodul mit einem RS485 Tranceiver bestückt werden.&lt;br /&gt;
Als Spannungsversorgung steht eine Batterieversorgung (1,2 - 3V) oder eine Spannungsversorgung über einen Schaltregler (7 V - 24 V zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
== Außensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen_platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Außengehäuse mit Beschreibung der I2C-Anschlussbelegung.]]&lt;br /&gt;
&lt;br /&gt;
Die Platinengröße des Außensensors ist deutlich kompakter als der Innensensor. Daher ist in dieser Version derzeit nur das Funkmodul bestückbar. Andere Übertragungsverfahren wie z.B. RS485 müssten hier extern realisiert werden.&lt;br /&gt;
Das Layout des Außensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Weitere Sensoren z.B. ein STH10 für Temperatur/Luftfeuchte können über den nach außen geführten I2C-Bus angeschlossen werden. Natürlich existiert auch beim Außensensor die Möglichkeit weitere Sensoren oder auch Aktoren über die beiden Pinleisten anzuschließen.&lt;br /&gt;
&lt;br /&gt;
Dieser {{Link2Forum|Topic=20620|Message=182690|LinkText=Forenbeitrag}} beschreibt, wie der SHT10 auch innerhalb eines Gehäuses benutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Der Helligkeitssensor ==&lt;br /&gt;
[[Datei:SHT10_breakout.jpg|200px|thumb|right|SHT10 Breakout-Board für den Außensensor.]]&lt;br /&gt;
[[Datei:CC1101-Sensor-Außen_mit_Filterfolie.JPG|200px|thumb|right|Das Außengehäuse mit Filterfolie.]]&lt;br /&gt;
[[Datei:Innensensor_Loch_für_Acrylstab_Maße.jpg|200px|thumb|right|Bohrvorlage für den Acryöstab im Innengehäuse.]]&lt;br /&gt;
Der Helligkeitssensor braucht zum sinnvollen Einsatz natürlich die Möglichkeit vom Umgebungslicht beleuchtet zu werden.&lt;br /&gt;
Da der Sensor im Innengehäuse nahe der Lüftungsschlitzen sitzt, wird dieser dadurch bereits beleuchtet. Allerdings fällt hier nur wenig Licht auf den Sensor. Daher ist bei dieser Messmethode die erreichbare Auflösung sehr gering.&lt;br /&gt;
&lt;br /&gt;
Die bessere Möglichkeit ist es, in die Abdeckung des Sensorgehäuses ein 5 mm großes Loch zu bohren. In das Loch wird dann ein kurzer Stift aus Acrylglas eingesetzt. Siehe Bild mit der Bohrvorlage.  Achtung, das Loch ist in horizontaler Ausrichtung nicht genau mittig.&lt;br /&gt;
Der Acrylstab hat nicht genau 5 mm Durchmesser. Es sind 5,2 mm. Man kann dennoch ein 5 mm Loch bohren. Das Einschieben des Stabes in das Loch geht dann allerdings ziemlich schwer. Vor dem Einschieben kann man den Acrylstab an der Innenseite noch leicht anfasen. Dann lässt er sich leichter in das Loch schieben. Die Länge des Acrylstabes Beträgt 17 mm.&lt;br /&gt;
&lt;br /&gt;
Im Außensensor ist die ausreichende Beleuchtung bereits durch die transparente Gehäuseoberseite gewährleistet. Allerdings wird der Sensor in direkter Sonneneinstrahlung übersteuern. Daher kann hier zwischen Sensor und Deckel eine Filterfolie eingelegt werden.&lt;br /&gt;
Die getestete Filterfolie lässt dann nur noch etwa 25% des Lichtes durch. Dadurch übersteuert der Sensor auch im Sommer bei voller Sonneneinstrahlung nicht mehr. Durch den bekannten Filterwert der Folie lässt sich so auch gut ein Umrechnungsfaktor für die Heligkeitsmessung in Lux z.B. in FHEM hinterlegen.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
[[Datei:CC1101-Sensor_Firmwareupdate_mit_dem_Raspberry_Pi.jpg|200px|thumb|right|Firmwareupdate mit dem Raspberry Pi.]]&lt;br /&gt;
&lt;br /&gt;
Aktuell existieren für den Sensor drei verschiedene Firmwareversionen.&lt;br /&gt;
&lt;br /&gt;
* [[HB-UW-Sen-THPL]] HB-UW-Sen-THPL-I, HB-UW-Sen-THPL-O (Version 0.13)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Innengehäuse&lt;br /&gt;
&lt;br /&gt;
* HB-UW-Sen-THPL-O (Version 0.13)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Außengehäuse&lt;br /&gt;
&lt;br /&gt;
* HWB-ONEWIRE (Experimentel)&lt;br /&gt;
: Homematic-Wired Kompatibles 1-Wire-Temperatursensor-interface&lt;br /&gt;
&lt;br /&gt;
HB-UW-Sen-THPL-I und HB-UW-Sen-THPL-O unterscheiden sich nur durch die Geräte-ID. Dadurch ist es Möglich dass die Sensoren z.B. in der CCU über ein eigenes Icon verfügt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwareupdates&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Atmega328p auf den Platinen ist mit einem Arduino-Kompatiblen Bootloader ausgestattet.&lt;br /&gt;
Damit lässt sich ganz einfach z.B. per USB-UART-Adapter ein Firmwareupdate  auf den Sensor aufspielen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann das auch über den UART-Anschluss von einem [[Raspberry Pi]] aus erfolgen.&lt;br /&gt;
Sowohl für Windows als auch für Linux (Raspberry Pi) gibt es ein Flash-Tool. Das ist eine Sammlung von Scripten mit der die Firmware auf den Sensor überspielt werden kann.&lt;br /&gt;
Dabei kann auch jeweils eine eigene Homematic-Adresse und Seriennummer angegeben werden unter welcher der Sensor dann erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
Es gibt mittlerweile auch einen Bootloader, mit dem die Firmware des Sensors per OTA-Update (&#039;&#039;&#039;O&#039;&#039;&#039;ver &#039;&#039;&#039;T&#039;&#039;&#039;he &#039;&#039;&#039;A&#039;&#039;&#039;ir, also per Funk) aktualisiert werden kann. Das Firmwareupdate funktioniert dabei nur mit dem [[HomeMatic_Firmware_Update|flash-ota]]. Ein &amp;quot;set sensorname fwUpdate dateiname&amp;quot; in der Kommandozeile von FHEM funktioniert nicht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configtaster&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drückt man den Configtaster auf der Platine im Betrieb 1x, so startet man das [[HomeMatic_Devices_pairen|Pairing]]. Die LED fängt langsam an zu blinken. Drückt man den Taster nun nochmal, aber deutlich länger, blinkt die LED sehr schnell (jetzt loslassen). Jetzt kann der Sensor resettet werden. Dazu drückt man den Taster erneut, bis die LED ausgeht. Der Sensor hat sich nun zurückgesetzt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwarekonfiguration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auf einige Einstellungen des Sensors lässt sich über die Kommandozeile Einfluss nehmen. Dazu &amp;quot;set &amp;lt;sensorname&amp;gt; regSet &amp;lt;register&amp;gt; &amp;lt;wert&amp;gt;&amp;quot; eingeben.&lt;br /&gt;
&lt;br /&gt;
;altitude&lt;br /&gt;
:Die Höhe des Sensors über NN in Metern. Ist ein Luftdrucksensor vorhanden, dann wird der ermittelte Druck automatisch auf Druck in NN umgerechnet.&lt;br /&gt;
;burstRx&lt;br /&gt;
:???&lt;br /&gt;
;ledMode&lt;br /&gt;
:&#039;&#039;on&#039;&#039; die LED leuchtet, wenn der Sensor Daten überträgt, &#039;&#039;off&#039;&#039; die LED leuchtet beim Übertragen der Daten nicht&lt;br /&gt;
;lowBatLimitTHPL&lt;br /&gt;
:Batteriespannung, ab der die Warnung für den Batteriewechsel ausgegeben wird.&lt;br /&gt;
;pairCentral&lt;br /&gt;
:???&lt;br /&gt;
;transmDevTryMax&lt;br /&gt;
:Anzahl der Wiederholungssendungen, sofern kein ACK empfangen wurde.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485-Innen_Platine.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit optional bestückten SHT10 (Temperatur / Luftfeuchte), BMP180 (Luftdruck), TSL2561 (Helligkeit)]]&lt;br /&gt;
&lt;br /&gt;
== RS485-Version mit 1-Wire Temperatursensoren ==&lt;br /&gt;
Hier ist eine experimentelle Firmware mit der man derzeit die RS485-Version des Sensors in eine 1-Wire - Homematic-Wired Interface &amp;quot;verwandeln&amp;quot; kann.&lt;br /&gt;
Weiteres ist unter [[ HWB-1WIRE-TMP10 ]] nachzulesen.&lt;br /&gt;
&lt;br /&gt;
== Inbetriebnahme ==&lt;br /&gt;
# Batterien einlegen&lt;br /&gt;
# Stelle sicher, dass die HMConfig_SenTHPL.pm im Unterverzeichnis FHEM ist. Ist dem nicht so, [https://github.com/kc-GitHub/Wettersensor/blob/master/Contrib/FHEM/HMConfig_SenTHPL.pm lade sie herunter] und lege sie dort ab. Danach muss FHEM neu gestartet werden (&amp;quot;shutdown restart&amp;quot; in die Kommandozeile eingeben)&lt;br /&gt;
# [[HomeMatic_Devices_pairen|CUL in den Pairingmodus schalten]]&lt;br /&gt;
# Configtaster auf dem Universalsensor drücken&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor Firmware der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten Firmware der RS485 (Wired) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Schematic-RF.pdf Schaltplan und Platinenlayout der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/raw/thorsten/Schematic/Schematic-WIRED.pdf Schaltplan und Platinenlayout der RS485 (Wired) Version]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,20620.0.html Thread im FHEM-Forum]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,22952.0.html Thread im FHEM-Forum zur Entwicklung der Wired-Firmware]&lt;br /&gt;
[[Kategorie:HomeBrew]]&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>KMatthias</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10273</id>
		<title>Universalsensor</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10273"/>
		<updated>2015-02-21T06:19:34Z</updated>

		<summary type="html">&lt;p&gt;KMatthias: Bedeutung der Register erklärt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Universalsensor-CC1101-Innen.jpg|200px|thumb|right|Universalsensor im Innengehäuse]]&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen.jpg|200px|thumb|right|Universalsensor im Außengehäuse]]&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Die Universalsensor-Platine ist eine Hardwareplattform um verschiedene Sensorwerte auch über unterschiedliche Übertragungsverfahren z.B. für die eigene Homeautomatisierung verfügbar zu machen.&lt;br /&gt;
&lt;br /&gt;
Hier werden die unterschiedliche Platinenlayouts, welche z.B. für einen Innensensor und einen Außensensor verwendet werden können, vorgestellt.&lt;br /&gt;
&lt;br /&gt;
Als Übertragungsmedien sind ein Funkmodul (CC1101) oder ein RS485 Tranceiver (LT1785 oder kompatibel) vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Funkmodul ist eine Anbindung an Funksysteme im 868 Mhz oder auch 433 Mhz-Band möglich. Hiermit kann der Sensor z.B. in ein Homematic Funksystem integriert werden. Aber auch andere Funksysteme sind über eine entsprechende Firmware zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Mit dem RS485 Tranceiver ist z.B. auch eine Integration in das Homematic-Wired System möglich.&lt;br /&gt;
&lt;br /&gt;
Das Platinenlayout der Sensoren enthält zwei Pinleisten welche Arduino-Kompatibel sind. Als Mikrocontroller ist ein Atmega 328p bestückt.&lt;br /&gt;
&lt;br /&gt;
Über diese Erweiterungsports können zusätzlich eigene Sensoren oder auch Aktoren angeschlossen werden. Über eine entsprechende Firmware ist es z.B. möglich auch mehrere 1-Wire-Sensoren abzufragen und deren Werte zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Die Spannungsversorgung erfolgt über 2 AA bzw. AAA Batterien. Damit eine möglichst gute Ausnutzung der Batteriekapazität erzielt wird und auch damit Sensoren mit 3,3 V Spannungsversorgung benutzt werden können, kann ein MAX1724 Stepup-Converter bestückt werden. Dieser stellt eine stabile Spannungsversorgung von 3,3 V zur Verfügung. Als Mindest-Eingangsspannung sind hier dann lediglich 1,2 V notwendig. Somit ist eine Versorung auch nur aus einer Batteriezelle denkbar.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann eine Spannungsversorung über einen Schaltregler erfolgen. Diese Versorgung kommt bei der Bestückungsversion mit RS485-Tranceiver zum Einsatz. Aber auch bei Benutzung mit dem Funkmodul kann diese Spannungsversorgung eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Der Schaltregler erlaubt dann einen recht breiten Eingangsspannungsbreich von 7 V bis 24 V. Außerdem steht dann intern zusätzlich zu den 3,3 V eine Spannung von 5 V zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Innensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Innen platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Innengehäuse. Hier noch ohne Bestückungsoption für RS485 und ohne bestückten SHT10 (Temperatur / Luftfeuchte)]]&lt;br /&gt;
&lt;br /&gt;
Das Layout des Innensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Feuchte (STH10)&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Zusätzlich können über die zwei Pinleisten eigene Sensoren z.B. über eine Erweiterungsplatine angeschlossen werden. Als Beispiel ist hier eine Firmwareversion genannt, bei der mehrere 1-Wire Sensoren an den Sensor angeschlossen werden und abgefragt werden können.&lt;br /&gt;
Zusätzlich zu den unterschiedlichen bestückbaren Sensoren, kann der Innensensor alternativ zum Funkmodul mit einem RS485 Tranceiver bestückt werden.&lt;br /&gt;
Als Spannungsversorgung steht eine Batterieversorgung (1,2 - 3V) oder eine Spannungsversorgung über einen Schaltregler (7 V - 24 V zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
== Außensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen_platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Außengehäuse mit Beschreibung der I2C-Anschlussbelegung.]]&lt;br /&gt;
&lt;br /&gt;
Die Platinengröße des Außensensors ist deutlich kompakter als der Innensensor. Daher ist in dieser Version derzeit nur das Funkmodul bestückbar. Andere Übertragungsverfahren wie z.B. RS485 müssten hier extern realisiert werden.&lt;br /&gt;
Das Layout des Außensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Weitere Sensoren z.B. ein STH10 für Temperatur/Luftfeuchte können über den nach außen geführten I2C-Bus angeschlossen werden. Natürlich existiert auch beim Außensensor die Möglichkeit weitere Sensoren oder auch Aktoren über die beiden Pinleisten anzuschließen.&lt;br /&gt;
&lt;br /&gt;
Dieser {{Link2Forum|Topic=20620|Message=182690|LinkText=Forenbeitrag}} beschreibt, wie der SHT10 auch innerhalb eines Gehäuses benutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Der Helligkeitssensor ==&lt;br /&gt;
[[Datei:SHT10_breakout.jpg|200px|thumb|right|SHT10 Breakout-Board für den Außensensor.]]&lt;br /&gt;
[[Datei:CC1101-Sensor-Außen_mit_Filterfolie.JPG|200px|thumb|right|Das Außengehäuse mit Filterfolie.]]&lt;br /&gt;
[[Datei:Innensensor_Loch_für_Acrylstab_Maße.jpg|200px|thumb|right|Bohrvorlage für den Acryöstab im Innengehäuse.]]&lt;br /&gt;
Der Helligkeitssensor braucht zum sinnvollen Einsatz natürlich die Möglichkeit vom Umgebungslicht beleuchtet zu werden.&lt;br /&gt;
Da der Sensor im Innengehäuse nahe der Lüftungsschlitzen sitzt, wird dieser dadurch bereits beleuchtet. Allerdings fällt hier nur wenig Licht auf den Sensor. Daher ist bei dieser Messmethode die erreichbare Auflösung sehr gering.&lt;br /&gt;
&lt;br /&gt;
Die bessere Möglichkeit ist es, in die Abdeckung des Sensorgehäuses ein 5 mm großes Loch zu bohren. In das Loch wird dann ein kurzer Stift aus Acrylglas eingesetzt. Siehe Bild mit der Bohrvorlage.  Achtung, das Loch ist in horizontaler Ausrichtung nicht genau mittig.&lt;br /&gt;
Der Acrylstab hat nicht genau 5 mm Durchmesser. Es sind 5,2 mm. Man kann dennoch ein 5 mm Loch bohren. Das Einschieben des Stabes in das Loch geht dann allerdings ziemlich schwer. Vor dem Einschieben kann man den Acrylstab an der Innenseite noch leicht anfasen. Dann lässt er sich leichter in das Loch schieben. Die Länge des Acrylstabes Beträgt 17 mm.&lt;br /&gt;
&lt;br /&gt;
Im Außensensor ist die ausreichende Beleuchtung bereits durch die transparente Gehäuseoberseite gewährleistet. Allerdings wird der Sensor in direkter Sonneneinstrahlung übersteuern. Daher kann hier zwischen Sensor und Deckel eine Filterfolie eingelegt werden.&lt;br /&gt;
Die getestete Filterfolie lässt dann nur noch etwa 25% des Lichtes durch. Dadurch übersteuert der Sensor auch im Sommer bei voller Sonneneinstrahlung nicht mehr. Durch den bekannten Filterwert der Folie lässt sich so auch gut ein Umrechnungsfaktor für die Heligkeitsmessung in Lux z.B. in FHEM hinterlegen.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
[[Datei:CC1101-Sensor_Firmwareupdate_mit_dem_Raspberry_Pi.jpg|200px|thumb|right|Firmwareupdate mit dem Raspberry Pi.]]&lt;br /&gt;
&lt;br /&gt;
Aktuell existieren für den Sensor drei verschiedene Firmwareversionen.&lt;br /&gt;
&lt;br /&gt;
* [[HB-UW-Sen-THPL]] HB-UW-Sen-THPL-I, HB-UW-Sen-THPL-O (Version 0.13)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Innengehäuse&lt;br /&gt;
&lt;br /&gt;
* HB-UW-Sen-THPL-O (Version 0.13)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Außengehäuse&lt;br /&gt;
&lt;br /&gt;
* HWB-ONEWIRE (Experimentel)&lt;br /&gt;
: Homematic-Wired Kompatibles 1-Wire-Temperatursensor-interface&lt;br /&gt;
&lt;br /&gt;
HB-UW-Sen-THPL-I und HB-UW-Sen-THPL-O unterscheiden sich nur durch die Geräte-ID. Dadurch ist es Möglich dass die Sensoren z.B. in der CCU über ein eigenes Icon verfügt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwareupdates&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Atmega328p auf den Platinen ist mit einem Arduino-Kompatiblen Bootloader ausgestattet.&lt;br /&gt;
Damit lässt sich ganz einfach z.B. per USB-UART-Adapter ein Firmwareupdate  auf den Sensor aufspielen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann das auch über den UART-Anschluss von einem [[Raspberry Pi]] aus erfolgen.&lt;br /&gt;
Sowohl für Windows als auch für Linux (Raspberry Pi) gibt es ein Flash-Tool. Das ist eine Sammlung von Scripten mit der die Firmware auf den Sensor überspielt werden kann.&lt;br /&gt;
Dabei kann auch jeweils eine eigene Homematic-Adresse und Seriennummer angegeben werden unter welcher der Sensor dann erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
Es gibt mittlerweile auch einen Bootloader, mit dem die Firmware des Sensors per OTA-Update (&#039;&#039;&#039;O&#039;&#039;&#039;ver &#039;&#039;&#039;T&#039;&#039;&#039;he &#039;&#039;&#039;A&#039;&#039;&#039;ir, also per Funk) aktualisiert werden kann. Das Firmwareupdate funktioniert dabei nur mit dem [[HomeMatic_Firmware_Update|flash-ota]]. Ein &amp;quot;set sensorname fwUpdate dateiname&amp;quot; in der Kommandozeile von FHEM funktioniert nicht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwarekonfiguration&#039;&#039;&#039;&lt;br /&gt;
Auf einige Einstellungen des Sensors lässt sich über die Kommandozeile Einfluss nehmen. Dazu &amp;quot;set &amp;lt;sensorname&amp;gt; regSet &amp;lt;register&amp;gt; &amp;lt;wert&amp;gt;&amp;quot; eingeben.&lt;br /&gt;
&lt;br /&gt;
;altitude&lt;br /&gt;
:Die Höhe des Sensors über NN in m. Ist ein Luftdrucksensor vorhanden, dann wird der ermittelte Druck automatisch auf Druck in NN umgerechnet.&lt;br /&gt;
;burstRx&lt;br /&gt;
:???&lt;br /&gt;
;ledMode&lt;br /&gt;
:&#039;&#039;on&#039;&#039; die LED leuchtet, wenn der Sensor Daten überträgt, &#039;&#039;off&#039;&#039; die LED leuchtet beim Übertragen der Daten nicht&lt;br /&gt;
;lowBatLimitTHPL&lt;br /&gt;
:Batteriespannung, ab der die Warnung für den Batteriewechsel ausgegeben wird.&lt;br /&gt;
;pairCentral&lt;br /&gt;
:???&lt;br /&gt;
;transmDevTryMax&lt;br /&gt;
:Anzahl der Wiederholungssendungen, sofern kein ACK empfangen wurde.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485-Innen_Platine.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit optional bestückten SHT10 (Temperatur / Luftfeuchte), BMP180 (Luftdruck), TSL2561 (Helligkeit)]]&lt;br /&gt;
&lt;br /&gt;
== RS485-Version mit 1-Wire Temperatursensoren ==&lt;br /&gt;
Hier ist eine experimentelle Firmware mit der man derzeit die RS485-Version des Sensors in eine 1-Wire - Homematic-Wired Interface &amp;quot;verwandeln&amp;quot; kann.&lt;br /&gt;
Weiteres ist unter [[ HWB-1WIRE-TMP10 ]] nachzulesen.&lt;br /&gt;
&lt;br /&gt;
== Inbetriebnahme ==&lt;br /&gt;
# Batterien einlegen&lt;br /&gt;
# Stelle sicher, dass die HMConfig_SenTHPL.pm im Unterverzeichnis FHEM ist. Ist dem nicht so, [https://github.com/kc-GitHub/Wettersensor/blob/master/Contrib/FHEM/HMConfig_SenTHPL.pm lade sie herunter] und lege sie dort ab. Danach muss FHEM neu gestartet werden (&amp;quot;shutdown restart&amp;quot; in die Kommandozeile eingeben)&lt;br /&gt;
# [[HomeMatic_Devices_pairen|CUL in den Pairingmodus schalten]]&lt;br /&gt;
# Configtaster auf dem Universalsensor drücken&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor Firmware der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten Firmware der RS485 (Wired) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Schematic-RF.pdf Schaltplan und Platinenlayout der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/raw/thorsten/Schematic/Schematic-WIRED.pdf Schaltplan und Platinenlayout der RS485 (Wired) Version]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,20620.0.html Thread im FHEM-Forum]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,22952.0.html Thread im FHEM-Forum zur Entwicklung der Wired-Firmware]&lt;br /&gt;
[[Kategorie:HomeBrew]]&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>KMatthias</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10272</id>
		<title>Universalsensor</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10272"/>
		<updated>2015-02-21T06:01:25Z</updated>

		<summary type="html">&lt;p&gt;KMatthias: Hinweise zum Update der Firmaware per OTA. Neue Firmwareversion 0.13.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Universalsensor-CC1101-Innen.jpg|200px|thumb|right|Universalsensor im Innengehäuse]]&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen.jpg|200px|thumb|right|Universalsensor im Außengehäuse]]&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Die Universalsensor-Platine ist eine Hardwareplattform um verschiedene Sensorwerte auch über unterschiedliche Übertragungsverfahren z.B. für die eigene Homeautomatisierung verfügbar zu machen.&lt;br /&gt;
&lt;br /&gt;
Hier werden die unterschiedliche Platinenlayouts, welche z.B. für einen Innensensor und einen Außensensor verwendet werden können, vorgestellt.&lt;br /&gt;
&lt;br /&gt;
Als Übertragungsmedien sind ein Funkmodul (CC1101) oder ein RS485 Tranceiver (LT1785 oder kompatibel) vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Funkmodul ist eine Anbindung an Funksysteme im 868 Mhz oder auch 433 Mhz-Band möglich. Hiermit kann der Sensor z.B. in ein Homematic Funksystem integriert werden. Aber auch andere Funksysteme sind über eine entsprechende Firmware zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Mit dem RS485 Tranceiver ist z.B. auch eine Integration in das Homematic-Wired System möglich.&lt;br /&gt;
&lt;br /&gt;
Das Platinenlayout der Sensoren enthält zwei Pinleisten welche Arduino-Kompatibel sind. Als Mikrocontroller ist ein Atmega 328p bestückt.&lt;br /&gt;
&lt;br /&gt;
Über diese Erweiterungsports können zusätzlich eigene Sensoren oder auch Aktoren angeschlossen werden. Über eine entsprechende Firmware ist es z.B. möglich auch mehrere 1-Wire-Sensoren abzufragen und deren Werte zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Die Spannungsversorgung erfolgt über 2 AA bzw. AAA Batterien. Damit eine möglichst gute Ausnutzung der Batteriekapazität erzielt wird und auch damit Sensoren mit 3,3 V Spannungsversorgung benutzt werden können, kann ein MAX1724 Stepup-Converter bestückt werden. Dieser stellt eine stabile Spannungsversorgung von 3,3 V zur Verfügung. Als Mindest-Eingangsspannung sind hier dann lediglich 1,2 V notwendig. Somit ist eine Versorung auch nur aus einer Batteriezelle denkbar.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann eine Spannungsversorung über einen Schaltregler erfolgen. Diese Versorgung kommt bei der Bestückungsversion mit RS485-Tranceiver zum Einsatz. Aber auch bei Benutzung mit dem Funkmodul kann diese Spannungsversorgung eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Der Schaltregler erlaubt dann einen recht breiten Eingangsspannungsbreich von 7 V bis 24 V. Außerdem steht dann intern zusätzlich zu den 3,3 V eine Spannung von 5 V zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Innensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Innen platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Innengehäuse. Hier noch ohne Bestückungsoption für RS485 und ohne bestückten SHT10 (Temperatur / Luftfeuchte)]]&lt;br /&gt;
&lt;br /&gt;
Das Layout des Innensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Feuchte (STH10)&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Zusätzlich können über die zwei Pinleisten eigene Sensoren z.B. über eine Erweiterungsplatine angeschlossen werden. Als Beispiel ist hier eine Firmwareversion genannt, bei der mehrere 1-Wire Sensoren an den Sensor angeschlossen werden und abgefragt werden können.&lt;br /&gt;
Zusätzlich zu den unterschiedlichen bestückbaren Sensoren, kann der Innensensor alternativ zum Funkmodul mit einem RS485 Tranceiver bestückt werden.&lt;br /&gt;
Als Spannungsversorgung steht eine Batterieversorgung (1,2 - 3V) oder eine Spannungsversorgung über einen Schaltregler (7 V - 24 V zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
== Außensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen_platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Außengehäuse mit Beschreibung der I2C-Anschlussbelegung.]]&lt;br /&gt;
&lt;br /&gt;
Die Platinengröße des Außensensors ist deutlich kompakter als der Innensensor. Daher ist in dieser Version derzeit nur das Funkmodul bestückbar. Andere Übertragungsverfahren wie z.B. RS485 müssten hier extern realisiert werden.&lt;br /&gt;
Das Layout des Außensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Weitere Sensoren z.B. ein STH10 für Temperatur/Luftfeuchte können über den nach außen geführten I2C-Bus angeschlossen werden. Natürlich existiert auch beim Außensensor die Möglichkeit weitere Sensoren oder auch Aktoren über die beiden Pinleisten anzuschließen.&lt;br /&gt;
&lt;br /&gt;
Dieser {{Link2Forum|Topic=20620|Message=182690|LinkText=Forenbeitrag}} beschreibt, wie der SHT10 auch innerhalb eines Gehäuses benutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Der Helligkeitssensor ==&lt;br /&gt;
[[Datei:SHT10_breakout.jpg|200px|thumb|right|SHT10 Breakout-Board für den Außensensor.]]&lt;br /&gt;
[[Datei:CC1101-Sensor-Außen_mit_Filterfolie.JPG|200px|thumb|right|Das Außengehäuse mit Filterfolie.]]&lt;br /&gt;
[[Datei:Innensensor_Loch_für_Acrylstab_Maße.jpg|200px|thumb|right|Bohrvorlage für den Acryöstab im Innengehäuse.]]&lt;br /&gt;
Der Helligkeitssensor braucht zum sinnvollen Einsatz natürlich die Möglichkeit vom Umgebungslicht beleuchtet zu werden.&lt;br /&gt;
Da der Sensor im Innengehäuse nahe der Lüftungsschlitzen sitzt, wird dieser dadurch bereits beleuchtet. Allerdings fällt hier nur wenig Licht auf den Sensor. Daher ist bei dieser Messmethode die erreichbare Auflösung sehr gering.&lt;br /&gt;
&lt;br /&gt;
Die bessere Möglichkeit ist es, in die Abdeckung des Sensorgehäuses ein 5 mm großes Loch zu bohren. In das Loch wird dann ein kurzer Stift aus Acrylglas eingesetzt. Siehe Bild mit der Bohrvorlage.  Achtung, das Loch ist in horizontaler Ausrichtung nicht genau mittig.&lt;br /&gt;
Der Acrylstab hat nicht genau 5 mm Durchmesser. Es sind 5,2 mm. Man kann dennoch ein 5 mm Loch bohren. Das Einschieben des Stabes in das Loch geht dann allerdings ziemlich schwer. Vor dem Einschieben kann man den Acrylstab an der Innenseite noch leicht anfasen. Dann lässt er sich leichter in das Loch schieben. Die Länge des Acrylstabes Beträgt 17 mm.&lt;br /&gt;
&lt;br /&gt;
Im Außensensor ist die ausreichende Beleuchtung bereits durch die transparente Gehäuseoberseite gewährleistet. Allerdings wird der Sensor in direkter Sonneneinstrahlung übersteuern. Daher kann hier zwischen Sensor und Deckel eine Filterfolie eingelegt werden.&lt;br /&gt;
Die getestete Filterfolie lässt dann nur noch etwa 25% des Lichtes durch. Dadurch übersteuert der Sensor auch im Sommer bei voller Sonneneinstrahlung nicht mehr. Durch den bekannten Filterwert der Folie lässt sich so auch gut ein Umrechnungsfaktor für die Heligkeitsmessung in Lux z.B. in FHEM hinterlegen.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
[[Datei:CC1101-Sensor_Firmwareupdate_mit_dem_Raspberry_Pi.jpg|200px|thumb|right|Firmwareupdate mit dem Raspberry Pi.]]&lt;br /&gt;
&lt;br /&gt;
Aktuell existieren für den Sensor drei verschiedene Firmwareversionen.&lt;br /&gt;
&lt;br /&gt;
* [[HB-UW-Sen-THPL]] HB-UW-Sen-THPL-I, HB-UW-Sen-THPL-O (Version 0.13)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Innengehäuse&lt;br /&gt;
&lt;br /&gt;
* HB-UW-Sen-THPL-O (Version 0.13)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Außengehäuse&lt;br /&gt;
&lt;br /&gt;
* HWB-ONEWIRE (Experimentel)&lt;br /&gt;
: Homematic-Wired Kompatibles 1-Wire-Temperatursensor-interface&lt;br /&gt;
&lt;br /&gt;
HB-UW-Sen-THPL-I und HB-UW-Sen-THPL-O unterscheiden sich nur durch die Geräte-ID. Dadurch ist es Möglich dass die Sensoren z.B. in der CCU über ein eigenes Icon verfügt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwareupdates&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Atmega328p auf den Platinen ist mit einem Arduino-Kompatiblen Bootloader ausgestattet.&lt;br /&gt;
Damit lässt sich ganz einfach z.B. per USB-UART-Adapter ein Firmwareupdate  auf den Sensor aufspielen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann das auch über den UART-Anschluss von einem [[Raspberry Pi]] aus erfolgen.&lt;br /&gt;
Sowohl für Windows als auch für Linux (Raspberry Pi) gibt es ein Flash-Tool. Das ist eine Sammlung von Scripten mit der die Firmware auf den Sensor überspielt werden kann.&lt;br /&gt;
Dabei kann auch jeweils eine eigene Homematic-Adresse und Seriennummer angegeben werden unter welcher der Sensor dann erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
Es gibt mittlerweile auch einen Bootloader, mit dem die Firmware des Sensors per OTA-Update (&#039;&#039;&#039;O&#039;&#039;&#039;ver &#039;&#039;&#039;T&#039;&#039;&#039;he &#039;&#039;&#039;A&#039;&#039;&#039;ir, also per Funk) aktualisiert werden kann. Das Firmwareupdate funktioniert dabei nur mit dem [[HomeMatic_Firmware_Update|flash-ota]]. Ein &amp;quot;set sensorname fwUpdate dateiname&amp;quot; in der Kommandozeile von FHEM funktioniert nicht.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485-Innen_Platine.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit optional bestückten SHT10 (Temperatur / Luftfeuchte), BMP180 (Luftdruck), TSL2561 (Helligkeit)]]&lt;br /&gt;
&lt;br /&gt;
== RS485-Version mit 1-Wire Temperatursensoren ==&lt;br /&gt;
Hier ist eine experimentelle Firmware mit der man derzeit die RS485-Version des Sensors in eine 1-Wire - Homematic-Wired Interface &amp;quot;verwandeln&amp;quot; kann.&lt;br /&gt;
Weiteres ist unter [[ HWB-1WIRE-TMP10 ]] nachzulesen.&lt;br /&gt;
&lt;br /&gt;
== Inbetriebnahme ==&lt;br /&gt;
# Batterien einlegen&lt;br /&gt;
# Stelle sicher, dass die HMConfig_SenTHPL.pm im Unterverzeichnis FHEM ist. Ist dem nicht so, [https://github.com/kc-GitHub/Wettersensor/blob/master/Contrib/FHEM/HMConfig_SenTHPL.pm lade sie herunter] und lege sie dort ab. Danach muss FHEM neu gestartet werden (&amp;quot;shutdown restart&amp;quot; in die Kommandozeile eingeben)&lt;br /&gt;
# [[HomeMatic_Devices_pairen|CUL in den Pairingmodus schalten]]&lt;br /&gt;
# Configtaster auf dem Universalsensor drücken&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor Firmware der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten Firmware der RS485 (Wired) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Schematic-RF.pdf Schaltplan und Platinenlayout der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/raw/thorsten/Schematic/Schematic-WIRED.pdf Schaltplan und Platinenlayout der RS485 (Wired) Version]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,20620.0.html Thread im FHEM-Forum]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,22952.0.html Thread im FHEM-Forum zur Entwicklung der Wired-Firmware]&lt;br /&gt;
[[Kategorie:HomeBrew]]&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>KMatthias</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10270</id>
		<title>Universalsensor</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=10270"/>
		<updated>2015-02-20T15:29:51Z</updated>

		<summary type="html">&lt;p&gt;KMatthias: Abschnitt zur Inbetriebnahme ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Universalsensor-CC1101-Innen.jpg|200px|thumb|right|Universalsensor im Innengehäuse]]&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen.jpg|200px|thumb|right|Universalsensor im Außengehäuse]]&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Die Universalsensor-Platine ist eine Hardwareplattform um verschiedene Sensorwerte auch über unterschiedliche Übertragungsverfahren z.B. für die eigene Homeautomatisierung verfügbar zu machen.&lt;br /&gt;
&lt;br /&gt;
Hier werden die unterschiedliche Platinenlayouts, welche z.B. für einen Innensensor und einen Außensensor verwendet werden können, vorgestellt.&lt;br /&gt;
&lt;br /&gt;
Als Übertragungsmedien sind ein Funkmodul (CC1101) oder ein RS485 Tranceiver (LT1785 oder kompatibel) vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Funkmodul ist eine Anbindung an Funksysteme im 868 Mhz oder auch 433 Mhz-Band möglich. Hiermit kann der Sensor z.B. in ein Homematic Funksystem integriert werden. Aber auch andere Funksysteme sind über eine entsprechende Firmware zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Mit dem RS485 Tranceiver ist z.B. auch eine Integration in das Homematic-Wired System möglich.&lt;br /&gt;
&lt;br /&gt;
Das Platinenlayout der Sensoren enthält zwei Pinleisten welche Arduino-Kompatibel sind. Als Mikrocontroller ist ein Atmega 328p bestückt.&lt;br /&gt;
&lt;br /&gt;
Über diese Erweiterungsports können zusätzlich eigene Sensoren oder auch Aktoren angeschlossen werden. Über eine entsprechende Firmware ist es z.B. möglich auch mehrere 1-Wire-Sensoren abzufragen und deren Werte zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Die Spannungsversorgung erfolgt über 2 AA bzw. AAA Batterien. Damit eine möglichst gute Ausnutzung der Batteriekapazität erzielt wird und auch damit Sensoren mit 3,3 V Spannungsversorgung benutzt werden können, kann ein MAX1724 Stepup-Converter bestückt werden. Dieser stellt eine stabile Spannungsversorgung von 3,3 V zur Verfügung. Als Mindest-Eingangsspannung sind hier dann lediglich 1,2 V notwendig. Somit ist eine Versorung auch nur aus einer Batteriezelle denkbar.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann eine Spannungsversorung über einen Schaltregler erfolgen. Diese Versorgung kommt bei der Bestückungsversion mit RS485-Tranceiver zum Einsatz. Aber auch bei Benutzung mit dem Funkmodul kann diese Spannungsversorgung eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Der Schaltregler erlaubt dann einen recht breiten Eingangsspannungsbreich von 7 V bis 24 V. Außerdem steht dann intern zusätzlich zu den 3,3 V eine Spannung von 5 V zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Innensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Innen platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Innengehäuse. Hier noch ohne Bestückungsoption für RS485 und ohne bestückten SHT10 (Temperatur / Luftfeuchte)]]&lt;br /&gt;
&lt;br /&gt;
Das Layout des Innensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Feuchte (STH10)&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Zusätzlich können über die zwei Pinleisten eigene Sensoren z.B. über eine Erweiterungsplatine angeschlossen werden. Als Beispiel ist hier eine Firmwareversion genannt, bei der mehrere 1-Wire Sensoren an den Sensor angeschlossen werden und abgefragt werden können.&lt;br /&gt;
Zusätzlich zu den unterschiedlichen bestückbaren Sensoren, kann der Innensensor alternativ zum Funkmodul mit einem RS485 Tranceiver bestückt werden.&lt;br /&gt;
Als Spannungsversorgung steht eine Batterieversorgung (1,2 - 3V) oder eine Spannungsversorgung über einen Schaltregler (7 V - 24 V zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
== Außensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen_platine.jpg|200px|thumb|right|Universalsensor-Platine für für das Außengehäuse mit Beschreibung der I2C-Anschlussbelegung.]]&lt;br /&gt;
&lt;br /&gt;
Die Platinengröße des Außensensors ist deutlich kompakter als der Innensensor. Daher ist in dieser Version derzeit nur das Funkmodul bestückbar. Andere Übertragungsverfahren wie z.B. RS485 müssten hier extern realisiert werden.&lt;br /&gt;
Das Layout des Außensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Weitere Sensoren z.B. ein STH10 für Temperatur/Luftfeuchte können über den nach außen geführten I2C-Bus angeschlossen werden. Natürlich existiert auch beim Außensensor die Möglichkeit weitere Sensoren oder auch Aktoren über die beiden Pinleisten anzuschließen.&lt;br /&gt;
&lt;br /&gt;
Dieser {{Link2Forum|Topic=20620|Message=182690|LinkText=Forenbeitrag}} beschreibt, wie der SHT10 auch innerhalb eines Gehäuses benutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Der Helligkeitssensor ==&lt;br /&gt;
[[Datei:SHT10_breakout.jpg|200px|thumb|right|SHT10 Breakout-Board für den Außensensor.]]&lt;br /&gt;
[[Datei:CC1101-Sensor-Außen_mit_Filterfolie.JPG|200px|thumb|right|Das Außengehäuse mit Filterfolie.]]&lt;br /&gt;
[[Datei:Innensensor_Loch_für_Acrylstab_Maße.jpg|200px|thumb|right|Bohrvorlage für den Acryöstab im Innengehäuse.]]&lt;br /&gt;
Der Helligkeitssensor braucht zum sinnvollen Einsatz natürlich die Möglichkeit vom Umgebungslicht beleuchtet zu werden.&lt;br /&gt;
Da der Sensor im Innengehäuse nahe der Lüftungsschlitzen sitzt, wird dieser dadurch bereits beleuchtet. Allerdings fällt hier nur wenig Licht auf den Sensor. Daher ist bei dieser Messmethode die erreichbare Auflösung sehr gering.&lt;br /&gt;
&lt;br /&gt;
Die bessere Möglichkeit ist es, in die Abdeckung des Sensorgehäuses ein 5 mm großes Loch zu bohren. In das Loch wird dann ein kurzer Stift aus Acrylglas eingesetzt. Siehe Bild mit der Bohrvorlage.  Achtung, das Loch ist in horizontaler Ausrichtung nicht genau mittig.&lt;br /&gt;
Der Acrylstab hat nicht genau 5 mm Durchmesser. Es sind 5,2 mm. Man kann dennoch ein 5 mm Loch bohren. Das Einschieben des Stabes in das Loch geht dann allerdings ziemlich schwer. Vor dem Einschieben kann man den Acrylstab an der Innenseite noch leicht anfasen. Dann lässt er sich leichter in das Loch schieben. Die Länge des Acrylstabes Beträgt 17 mm.&lt;br /&gt;
&lt;br /&gt;
Im Außensensor ist die ausreichende Beleuchtung bereits durch die transparente Gehäuseoberseite gewährleistet. Allerdings wird der Sensor in direkter Sonneneinstrahlung übersteuern. Daher kann hier zwischen Sensor und Deckel eine Filterfolie eingelegt werden.&lt;br /&gt;
Die getestete Filterfolie lässt dann nur noch etwa 25% des Lichtes durch. Dadurch übersteuert der Sensor auch im Sommer bei voller Sonneneinstrahlung nicht mehr. Durch den bekannten Filterwert der Folie lässt sich so auch gut ein Umrechnungsfaktor für die Heligkeitsmessung in Lux z.B. in FHEM hinterlegen.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
[[Datei:CC1101-Sensor_Firmwareupdate_mit_dem_Raspberry_Pi.jpg|200px|thumb|right|Firmwareupdate mit dem Raspberry Pi.]]&lt;br /&gt;
&lt;br /&gt;
Aktuell existieren für den Sensor drei verschiedene Firmwareversionen.&lt;br /&gt;
&lt;br /&gt;
* [[HB-UW-Sen-THPL]] HB-UW-Sen-THPL-I, HB-UW-Sen-THPL-O (Version 0.10)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Innengehäuse&lt;br /&gt;
&lt;br /&gt;
* HB-UW-Sen-THPL-O (Version 0.10)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Außengehäuse&lt;br /&gt;
&lt;br /&gt;
* HWB-ONEWIRE (Experimentel)&lt;br /&gt;
: Homematic-Wired Kompatibles 1-Wire-Temperatursensor-interface&lt;br /&gt;
&lt;br /&gt;
HB-UW-Sen-THPL-I und HB-UW-Sen-THPL-O unterscheiden sich nur durch die Geräte-ID. Dadurch ist es Möglich dass die Sensoren z.B. in der CCU über ein eigenes Icon verfügt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwareupdates&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Atmega328p auf den Platinen ist mit einem Arduino-Kompatiblen Bootloader ausgestattet.&lt;br /&gt;
Damit lässt sich ganz einfach z.B. per USB-UART-Adapter ein Firmwareupdate  auf den Sensor aufspielen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann das auch über den UART-Anschluss von einem [[Raspberry Pi]] aus erfolgen.&lt;br /&gt;
Sowohl für Windows als auch für Linux (Raspberry Pi) gibt es ein Flash-Tool. Das ist eine Sammlung von Scripten mit der die Firmware auf den Sensor überspielt werden kann.&lt;br /&gt;
Dabei kann auch jeweils eine eigene Homematic-Adresse und Seriennummer angegeben werden unter welcher der Sensor dann erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
Es gibt mittlerweile auch einen Bootloader, mit dem die Firmware des Sensors per OTA-Update (&#039;&#039;&#039;O&#039;&#039;&#039;ver &#039;&#039;&#039;T&#039;&#039;&#039;he &#039;&#039;&#039;A&#039;&#039;&#039;ir, also per Funk) aktualisiert werden kann.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485-Innen_Platine.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit optional bestückten SHT10 (Temperatur / Luftfeuchte), BMP180 (Luftdruck), TSL2561 (Helligkeit)]]&lt;br /&gt;
&lt;br /&gt;
== RS485-Version mit 1-Wire Temperatursensoren ==&lt;br /&gt;
Hier ist eine experimentelle Firmware mit der man derzeit die RS485-Version des Sensors in eine 1-Wire - Homematic-Wired Interface &amp;quot;verwandeln&amp;quot; kann.&lt;br /&gt;
Weiteres ist unter [[ HWB-1WIRE-TMP10 ]] nachzulesen.&lt;br /&gt;
&lt;br /&gt;
== Inbetriebnahme ==&lt;br /&gt;
# Batterien einlegen&lt;br /&gt;
# Stelle sicher, dass die HMConfig_SenTHPL.pm im Unterverzeichnis FHEM ist. Ist dem nicht so, [https://github.com/kc-GitHub/Wettersensor/blob/master/Contrib/FHEM/HMConfig_SenTHPL.pm lade sie herunter] und lege sie dort ab. Danach muss FHEM neu gestartet werden (&amp;quot;shutdown restart&amp;quot; in die Kommandozeile eingeben)&lt;br /&gt;
# [[HomeMatic_Devices_pairen|CUL in den Pairingmodus schalten]]&lt;br /&gt;
# Configtaster auf dem Universalsensor drücken&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor Firmware der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten Firmware der RS485 (Wired) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Schematic-RF.pdf Schaltplan und Platinenlayout der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/raw/thorsten/Schematic/Schematic-WIRED.pdf Schaltplan und Platinenlayout der RS485 (Wired) Version]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,20620.0.html Thread im FHEM-Forum]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,22952.0.html Thread im FHEM-Forum zur Entwicklung der Wired-Firmware]&lt;br /&gt;
[[Kategorie:HomeBrew]]&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>KMatthias</name></author>
	</entry>
</feed>