Hallo zusammen,
Es muss doch möglich sein, einen eigenen Temperatursensor zu basteln, dessen Daten mit einem CUL empfangen werden kann.
Dazu habe ich im Netz folgendes gefunden:
Protokoll von Lacrosse / Technoline
http://www.f6fbb.org/domo/sensors/tx3_th.php (http://www.f6fbb.org/domo/sensors/tx3_th.php)
Vorreiter mit meiner Idee: http://forum.arduino.cc/index.php?topic=155483.0 (http://forum.arduino.cc/index.php?topic=155483.0)
Folgende Teile auf einem Steckbrett zusammengesteckt
- Arduino Nano
- DHT 22 Temp / Hum Sensor + 10k Widerstand (http://de.aliexpress.com/item/DHT22-Digital-Temperature-and-Humidity-Sensor-AM2302-Module-PCB-with-Cable-for-Arduino-Free-Shipping-Dropshipping/1739821971.html)
- 433 Funkmodul (http://www.amazon.de/gp/product/B00R2U8OEU)
Und ein Arduino Sketch, der die Temperatur und Luftfeuchte misst und per 433 MHZ an meinen CUL433 sendet.
Im Sketch kann man die Pins von DHT und 433 Modul per define setzen, ich habe den DHT Datenpin auf Pin 2 gelegt und den Datenpin vom Sendemodul auf Pin 10.
Die Sensoradresse (1 - 127) kann man ebenfalls per define (derzeit 111) einstellen, die muss für jeden Sensor, wenn man mehrere hat unterschiedliche einstellen.
Ein original Lacrosse Sensor vergibt diese Adresse beim Batteriewechsel immer neu, mein Sketch ist da etwas konstanter. :-)
Außerdem kann man noch die Wartezeit zwischen den Messungen per Define einstellen.
Als nächste Ausbaustufe könnte man das ganze mit Attiny85 umsetzten und noch einen Stormsparmodus ergänzen, aber da fehlt mir (noch) die Erfahrung.
Dann kann das ganz wahrscheinlich auch mit Batterie betrieben werden, soweit bin ich aber noch nicht.
Viel Spaß damit
Simonberry
Edit 10.03.2016: Links zu Bauteilen ergänzt[/list]
Hört sich gut an! Hast du eine komplette bauteilliste und einen Verdrahtungsplan? Welches Funkmodul hat du denn dafür genommen? Einen Standart oder cc1101, oder......? Wie sieht es mir der Spannungsversorgung aus? Netzteil 5V oder Batterie?
Gruß
Sascha
Gesendet von meinem E6653 mit Tapatalk
Hallo
ich habe zu den Beuteilen Links ergänzt. Und noch ergänzt, welche Pins wo verbunden sind. (Vcc und GND müssen natürlich auch jeweils verbunden werden)
Die Stromversorgung, läuft derzeit noch über den USB Port vom Nano, aber mit einem attiny85 will ich das ganze mit Knopfzellen in eine alte Filmdose packen.
viele Grüße
Simonberry
Coole Nummer........
Geht nur der DHT22 Sensor ?
Ich suche noch eine Möglichkeit, die Vorlauf und Rücklauftemp. von der Fußbodenheizung zu erfassen.
Am besten ein Funkmodul mit 2 Anlegefühler und batteriebterieben !;-)
Hast Du da ne Idee ???
Wie gesagt, deine ist schon recht einfach...... Cool
Grüße
Sascha
Hallo Sascha
die Dallas DS1820 Dinger müssten auch gehen. Da musst Du aber den Sketch entsprechend anpassen.
Da kannst Du auch mehrere Temperatursensoren an einem Nano anschliessen, braucht halt ein etwas längeres Kabel.
Google mal nach "Arduino Dallas ds1820"
Damit Du Temperaturen getrennt in FHEM erfassen kannst muss Dein Sensor die "SensorID" anpassen. z.B. SensorID + TempId
Da gibt es diverse Beiträge (z.B.: http://blog.wenzlaff.de/?p=1254)
Viel Spaß und Erfolg
Simonberry
Danke, werde mal schauen
Gesendet von meinem E6653 mit Tapatalk
Hallo Zusammen,
das Thema hat mich interessiert, deshalb habe ich mal eine 18x20-Beta-Version zusammengestellt.
Die Version liest den ersten Sensor ein und sendet ihn an FHEM.
Vorbereitet ist ebenfalls das Einlesen mehrer 18x20-Sensoren am Onewire-Bus. (.. noch nicht ganz fertig, aber ausbaubar ...)
Benutze ein Arduino-Micro. Der 433-Sender liegt an D9 der 18x20-Data-Pin ist D2.
Die Luftfeuchte wird nicht erfasst, deshalb habe ich sie testhalber auf einen konstanten Wert gesetzt.
Danke @simonberry für die Protokoll-Umsetzung!
Weitergehende Infos: http://www.tweaking4all.com/hardware/arduino/arduino-ds18b20-temperature-sensor/ (http://www.tweaking4all.com/hardware/arduino/arduino-ds18b20-temperature-sensor/)
Reading multiple sensors:
1.)
Sensor : 10484b2101080094
status: OK
Chip-Type:DS18S20
Temperature: 22.81 C (73.06 F)
2.)
Sensor : 1019602101080005
status: OK
Chip-Type:DS18S20
Temperature: 21.44 C (70.59 F)
3.)
Sensor : 28ff74f564140178
status: OK
Chip-Type:DS18B20
Temperature: 21.50 C (70.70 F)
Reading multiple sensors done.
ROM = 10 48 4B 21 01 08 00 94
Chip = DS18S20
Data = 1 2E 00 4B 46 FF FF 0F 10 55 CRC=55
Temperature = 22.81 Celsius, 73.06 Fahrenheit
Free RAM: 1489
22.81 °C
T: 22.81
H: 50.00
sending temperature ... 22.81
0a0de72872f
0a0de72872f
0a0de72872f
0a0de72872f
0a0de72872f
sending humidity ... 50.00
0aede50050d
0aede50050d
0aede50050d
0aede50050d
0aede50050d
Sleeping: ..
Hört sich gut an! Läuft das Programm auch auf nen arduino nano?
Gruß
Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Warum nicht?
Das Programm benutzt nur 2 Port-Pins, evtl. die Leonardo-Serial-Umschalte-Warteschleife rausnehmen:
//--- wait until available (Arduino-Micro has Leonardo-like bootloader, using two COM-Interfaces)
while (! Serial);
Dann sollte es auch auf dem NANO laufen.
... und auf die Hinweise im Code achten...
Vorbereitet ist schon der Index um auch die LaCrosse-ID hochzuzählen ...
Muss nur noch klären: SensorId zu Index auf LaCrosse-ID festzurren und die beliebige (?) Reihenfolge beim Einlesen der 18x20-Sensoren berücksichtigen.
Also gibt es noch Verbesserungs-Potential.
https://www.mikrocontroller.net/topic/168315#new (https://www.mikrocontroller.net/topic/168315#new)
8)
Todo:
Einmalig: Sensoren auslesen + indizieren und via Menü LaCrosse-IDs zuordnen und im EEPROM speichern.
Loop: Danach die den Sensoren einlesen und mit der im EEPROM zugeordneter LaCrosseId ausgeben.
Hier eine Menu-Lib, die nicht nur LCD bietet, sondern auch seriell funktioniert und mehrstufige Menüstrukturen bietet:
https://github.com/Jomelo/LCDMenuLib (https://github.com/Jomelo/LCDMenuLib)
https://github.com/Jomelo/LCDMenuLib/blob/master/LCDMenuLib/doc/lcdml_german.pdf (https://github.com/Jomelo/LCDMenuLib/blob/master/LCDMenuLib/doc/lcdml_german.pdf)
http://forum.arduino.cc/index.php?topic=73816.0 (http://forum.arduino.cc/index.php?topic=73816.0)
Folgende Tasten haben eine Bedeutung im Menü:
e = Enter (In eine Ebene wechseln)
q = Quit (Geht aus einer Ebene heraus)
u = Up (Navigation nach oben im Menü)
d = Down (Navigation nach unten im Menü)
Die folgenden Tasten können aber auch in Funktionen verwendet werden:
e = Enter (Benutzerdefiniert z.B. etwas setzen oder bestätigen)
q = Quit (verlässt die Funktion und kehrt ins Menü zurück)
u = Up (Benutzerdefiniert)
d = Down (Benutzerdefiniert)
l = Left (Benutzerdefiniert)
r = Right (Benutzerdefiniert)
Serieller Beispieloutput:
Hier der Zwischenschwenk auf den ATtiny85
https://forum.fhem.de/index.php/topic,52755.msg446298.html#msg446298 (https://forum.fhem.de/index.php/topic,52755.msg446298.html#msg446298)
ATTINY 25/45/85 / ARDUINO
+-\/-+
(RES) Ain0 (D 5) PB5 1 | | 8 Vcc
Ain3 (D 3) PB3 2 | | 7 PB2 (D 2) Ain1 (DQ-Pin 18B20) (SCK)
Ain2 (D 4) PB4 3 | | 6 PB1 (D 1) pwm1 (MISO)
GND 4 | | 5 PB0 (D 0) pwm0 (433MHz-Sender) (MOSI)
+----+
Gibt es die Sendecodes auch für andere TX Modelle um eine alte Wetterstation mit dem Arduino wieder mit Außentemperaturdaten zu versorgen?
http://www.techome.de/ratgeber-welcher-techno-line-sensor-passt.html
Ich würde mich für eine Lösung für die TX96 oder "TX95-TH-433 IW008T" interessieren.
Hallo Kurt34,
diese Technoline-Sensoren sind ja Fertig-Geräte, die möglicherweise in FHEM verwertet werden können.
Da ich die Sensor-Familie zwar namentlich kenne, aber die von Dir erwähneten nicht im Speziellen,
hatte ich auch Probleme mit deren Vertretern. (Stichwort: 868MHz IT+)
Die Technoline-Sensoren werden aber meist mit einenm anderen Empfangsmodul z.B. den RFM69 oder RFM12 empfangen.
=> Suche mal in der FHEM-SuFu oder im Wiki nach "Erkennung RFM69HCW-Jeelink" + "LaCrosseITPlusReader" + "LaCrosseGateway" .
Evtl. bekommt Du da mehr Infos, ob diese Sensoren in der Liste der erkannten Geräte + Protokolle mit dabei sind.
welches-gateway-fuer-welches-system (http://www.meintechblog.de/2015/02/fhem-welches-gateway-fuer-welches-system/)
jeelink-luftfeuchte-und-temperatur-zum-low-cost-tarif-messen (http://www.meintechblog.de/2015/01/fhem-mit-jeelink-luftfeuchte-und-temperatur-zum-low-cost-tarif-messen/)
fhem-temperatur-fuehlen-mit-jeelink (http://blog.gestreift.net/2015/04/fhem-temperatur-fuehlen-mit-jeelink/)
lacrosse-dostmann-technoline-temperatursensoren-an-fhem-anlernen/ (https://steigerbalett.wordpress.com/2015/05/24/lacrosse-proficelltfa-dostmanntechnoline-temperatursensoren-an-fhem-anlernen/)
Grüße,
Jürgen
Hallo simonberry,
ich wollte mal fragen wie genau das Sketch verändert werden muss ich habe die Pinbelegung so wie du.
Den Pin für den Sender habe ich gändert aber den für den Sensor finde ich nicht bzw weiß nicht genau was dazugehört.
Bin für jede Hilfe dankbar!
ich muss zugeben das ich mich mit Arduino nicht so gut auskenne.
MfG
Hi
Der pin vom Sensor lässt sich mit diesem define einstellen:
#define PIN_DHT 2 // what digital pin we're connected to
viele Grüße
Simonberry
hallo nochmal,
Und danke ich habe es bei mir probiert aber es funktioniert trotzdem nicht, ich habe andere Sketch probiert das senden und der Sensor funktionieren aber das mit dem Lacrosse klappt einfach nicht.
Wäre es möglich dein Komplettes Sketch zu sehen.
Ich suche und probiere mich zu Tode es liegt sicher an etwas blödem.
LG
Hallo
der Sketch (aus dem ersten Post) ist zwar uralt, aber komplett.
viele Grüße
Simonberry
hallo,
ich habe es mit deinem Sektch gemacht, klappt bei mir leider nicht so ganz bzw manchmal kommt was durch aber sehr selten, wenn ich Funksteckdosen steuer funktioniert es super eigentlich, weiß nicht mehr woran es liegen kann.
Trotzdem Danke
MfG
Die Pulsezeiten wurden etwas "optimiert":
Alt:
// Duration of pulses and delays
int iLongPulse=975, iShortPulse=250, iDelay=1450;
Neu:
https://forum.fhem.de/index.php/topic,52755.msg872773.html#msg872773 (https://forum.fhem.de/index.php/topic,52755.msg872773.html#msg872773)
und hier:
https://forum.fhem.de/index.php/topic,56660.msg666579.html#msg666579 (https://forum.fhem.de/index.php/topic,56660.msg666579.html#msg666579)
int iLongPulse = 1200;
int iShortPulse = 400;
int iDelay = 900;
Das war es!
Boahh da hätte ich nie drauf kommen können.
Vielen Dank.
MFG