Temperatursender von Wetterstation in CUL

Begonnen von bjoernh, 01 November 2014, 16:05:36

Vorheriges Thema - Nächstes Thema

bjoernh

Zitat von: matlen67 am 22 April 2016, 19:03:56
Hallo zusammen
Ich studiere diesen Thrad schon einige Tage und versuche mich in das Modul 14_CUL_TCM97001.pm reinzulesen um es zu verstehen.
Hintergrund ist habe hier einige selbstentwickelte Temperatur/Luftfeuchte Sensoren die auf 433Mhz funken und würde diese gerne mit in FHEM einbinden.
Allerdings raffe ich das ganze nicht wirklich. Wenn ich jetzt meinen Sensor mit einbinden möchte reicht es das Modul anzupassen (wie auch immer) oder muss da z.B auch noch an
andere Stelle angepasst werden (z.B an der culfw).

Ich zeig mal mein Protokoll hier auf evtl. hat da ja jemand ein paar Tips für mich.


Timings:
Sync  : 500us high / 9000us low
1     : 500us high / 4000us low
0     : 500us high / 2000us low

'*************************************************************
'Beispiel Sendetelegramm
'  Bit 1...............................................40
' sync 0000 1111 0000 0011 1100 1110 0001 0001 0001 1001
'
'Bit  1 -  8 = Sender ID Bsp:00001111 = 15
'Bit  9      = N/A
'Bit 10      = Batterie 1 = Low Bat
'Bit 11      = N/A
'Bit 12      = Temp + / - (0 = + / 1 = -)
'Bit 13 - 22 = Temperatur  0011110011 = 243 = 243 / 10 = 24,3 °C
'Bit 23 - 32 = Luftfeuchte 1000010001 = 529 = 529 / 10 = 52,9 %
'Bit 33 - 40 = Checksumme = 2+4+3+5+2+9 = 25
'
'
'**************************************************************




Gruß matlen67
Wenn der Empfänger,  also z. B.  Der CUL die Daten empfängt,  muss nur das Modul erweitert werden.

bjoernh

Zitat von: Doublefant am 10 April 2016, 18:33:44
Hallo zusammen,

ich habe ein Sender von einer TCM Wetterstation, das Modell ist schon etwas älter, funktioniert aber noch gut.
Nun möchte ich die Werte gerne in Fhem einlesen.

CUL434 eingesteckt, das Device wird angelegt und Daten kommen alle 5 Minuten.
Leider ist das Device nicht erkannt und somit als unknown gekennzeichnet, deshalb werden die Daten leider auch nicht dekodiert.
Ich habe schon einige Messreihen erzeugt und mit der Anzeige auf der Wetterstation überprüft, nun kann ich die Daten von Hand dekodieren.
Kann man diese neue/unbekannte Kodierung in ein Custom-Modul hinzufügen?

CUL_TCM97001 Unknown Code: 2BC151550100
7,2°C 69%Feuchte

    2      B      C       1       5       1        5       5      0        1       0       0
0010 1011 1100 0001 0101 0001 0101 0101 0000 0001 0000 0000
                               |----------Temp---|--Feuchte-| 

Temp in 4er Blöcke, umgedreht: 0101 0100 0101 = 1349

1349-900=449:10=44,9°F = 7,2°C

Feuchte in 4er Blöcke umgedreht: 0100 0101 = 69%

Ganz alleine habe ich die Rumrechnerei aber nicht herausgefunden, dafür war Termperatur zu komplex zu berechnen, hier die Quelle:
http://forum.arduino.cc/index.php?topic=136836.60
Hallo,

kann man schon einbauen.  Was aber noch benötigt wird ist z. B.  die Adresse, wenn der Sensor einen Kanalschalter hat,  sollten wir diese bits auch herausfinden.

Kannst du eine Messreihe mit den Werten machen?

Gruß Björn

matlen67

#152
Zitat von: bjoernh am 22 April 2016, 21:38:17
Wenn der Empfänger,  also z. B.  Der CUL die Daten empfängt,  muss nur das Modul erweitert werden.

Ja der nanoCUL empfängt was.
nanoCUL: unknown message p11  480 1968  464 3920  464 1968  40  1  5 0   464  9712     0 52 0F03CE1119

Gesendet wurde:
ID 15 Temp 24,3 Hum 52,9 Checksumme 25


(http://abload.de/img/protokolloceqe.png)
FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

matlen67

Pu das waren jetzt 2 Tage testen testen testen, aber ich habe es hin bekommen.
Meine Temperatursensoren werden jetzt erkannt und funktionieren.

(http://abload.de/img/tcmmodk7ssk.jpg)


Gruß matle67
FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

bjoernh

Zitat von: matlen67 am 24 April 2016, 16:27:09
Pu das waren jetzt 2 Tage testen testen testen, aber ich habe es hin bekommen.
Meine Temperatursensoren werden jetzt erkannt und funktionieren.

(http://abload.de/img/tcmmodk7ssk.jpg)


Gruß matle67
Super,  stellst Du die Anpassungen bereit?  Dann würde ich diese ins offizielle Modul einpflegen.

pejonp

Hallo bjoernh,

könntest du diese Änderung auch ins Modul mit aufnehmen. Ist ein Regensensor PFR-130 433MHz von pollin (http://www.pollin.de/shop/dt/Nzg0OTYxOTk-/Haustechnik/Wetterstationen_Thermometer/Funk_Regenmesser_PFR_130_mit_Temperaturanzeige.html).
Die Anpassung steht hier https://forum.fhem.de/index.php/topic,38831.msg382342.html#msg382342. Vielen Dank.

Tschüß pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

matlen67

Hallo bjoernh
Ob das Sinn macht das mit einzupflegen? Sind ja selbsbau Sensoren die dürfte ausser mir ja niemand haben.
Ich kann natürlich mal alles raussuchen und ein Packet mit Leiterplatte, Schaltplan und hex file für den Prozessor zusammschnüren. Evtl möchte sich das jemand nachbauen.

Ich hänge die angepasste 14_CUL_TCM97001.pm mal hier ran.
Die Änderungen findest du in
Zeile 51
Zeile 87
die Funktion quersumme von Zeile 232 - 256
und die Hauptfunktion von Zeile 550 - 614

Würde mich natürlich freuen wenn ein Profi da mal drüber guckt ob das alles soweit i.O. ist. Funktioniert zwar soweit bis auf die Batterie warnung.
Wenn sich die Batterie dem Ende neigt wird bit 3 in Nibble 2 gesetzt und ausgewertet $batbit = (hex($a[2]) & 0x4) >> 2;
Das funktioniert auch soweit batbit ist dann 1 wenn Batterie leer aber angezeigt wird battery ok.

gruß lema67

FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

JoWiemann

Zitat von: matlen67 am 25 April 2016, 19:56:50
Ich kann natürlich mal alles raussuchen und ein Packet mit Leiterplatte, Schaltplan und hex file für den Prozessor zusammschnüren. Evtl möchte sich das jemand nachbauen.

Hallo,

würde mich sehr interessieren und würde mich über eine Veröffentlichung im Forum freuen.

Vielen Dank

Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

matlen67

Hallo JoWiemann.
Eigentlich hatte ich gerade vor einen Thread in der Bastelecke über die Temperatursender zu veröffentlichen.
Hatte dazu gute 1,5 Stunden einen Beitrag verfasst, doch bei Speichern kam nur eine Fehlermeldung 'Der Beitrag kann nicht gespeichert werden' und weg war alles.
Nun bin ich natürlich etwas angefressen, und fange bestimmt nicht nochmal von vorne an.

Ich poste nun hier mal auf die Schnelle 1 2 Bilder und das Packet mit den Files, ein Thread folgt evtl. dann irgendwann mal wenn ich mich wieder beruhigt habe und Lust und Zeit habe das zu wiederholen.

(http://abload.de/thumb/temperatursensor123es7.jpg) (http://abload.de/thumb/temperartursensor266cwk.jpg)

Anbei das Packet:
https://drive.google.com/open?id=0B8ofP_TYMFieLVRkQjlJZ0NoQ2s

Enthalten sind:
. 15 hexfiles für den Microcontroller mit unterschiedlichen Sender ID's
. Leiterplattenlayout für Eagle
. Gerberfiles zur Leiterplattenherstellung bei Itead
. Preisliste mit Bestellnummern
. Bild mit Fusebits
. ISP PRogTool (um die hexfiles zu schreiben)

gruß matlen67


FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

Doublefant

Zitat von: bjoernh am 22 April 2016, 21:41:43
Hallo,

kann man schon einbauen.  Was aber noch benötigt wird ist z. B.  die Adresse, wenn der Sensor einen Kanalschalter hat,  sollten wir diese bits auch herausfinden.

Kannst du eine Messreihe mit den Werten machen?

Gruß Björn

Hallo Björn,
leider konnte ich bisher nicht alles komplett entschlüsseln, aber ich hoffe es reicht. Ich kann mit meiner Messreihe aber die Quelle unten verifizieren:
Bit 1+2 sind immer 0, egal wie oft die die Batterie wechsel und eine neue SensorID-Nummer generieren lasse
Bit 3 - 10 sind Zufallszahlen, die sich nur beim Batteriewechsel ändern, sonst immer gleich bleiben (8 Bit)
Bit 11+12 wechseln immer mal ohne ersichtlichen Grund, laut Beschreibung Batteriezustand, kann ich aber nicht bestätigen
Bit 13+14 Channel
Bit 15 - 26 Temperatur (12 Bit)
Bit 27 - 34 Feuchtigkeit (8 Bit)
Bit 35 senden manuell ausgelöst mit Taster =1
Bit 36 - 42 wechseln nur, wenn sich sonst irgendwas ändert, also wahrscheinlich Checksum, aber entschlüsseln habe ich nicht geschafft
Bit 43 - 48 sind bei mir immer 0, wahrscheinlich um die Übertragung aufzufüllen, 6 Byte Länge

Channel 1 = 00 ; 2 = 01 ; 3=10
Bei Temperatur und Feuchtigkeit müssen die Nibble getauscht werden, die Höherwertigen sind hinten.
Mir ist aufgefallen, dass der Sensor TCM21, der schon implementiert ist eine ähnliche Berechnung nutzt, evtl. hilft das  und man kann es als Vorlage nehmen.

Hier ist auch noch mal ein Protokoll beschrieben, das passt sehr genau, abgesehen von der Batterie und force send:
https://docs.google.com/document/d/121ZH3omAZsdhFi3GSB-YdnasMjIQSGIcaS7QW6KsACA/mobilebasic?pli=1

Grüße
Doublefant

KölnSolar

@matlen67: ist mir auch schon passiert und wirklich frustrierend. Aber ich finde Deine Arbeit nach einem ersten Blick ins zip klasse !!!
wäre schade, wenn das hier versandet. wie kann ich Dich motivieren Deinen obigen Post nebst ein paar warmen Worten zur groben Beschreibung Hardwarebasis, Protokoll und Kosten doch noch in der Bastelecke zu posten ? Wie kann ich Ahnungsloser helfen ?
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

JoWiemann

Hallo matlen, auch von mir ein Danke. Ist mir auch schon passiert. Seitdem schreibe ich längere Posts im Editor und kopiere sie dann ins Forum. Also bitte: Nicht demotivieren lassen.




Grüße Jörg

Gesendet von iPhone mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

matlen67

So alles gut. Hier gehts weiter klick

gruß matlen67
FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

KölnSolar

vielen lieben Dank.
wenn ich jetzt noch SMD löten könnte. ;-(
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

matlen67

Zitat von: KölnSolar am 28 April 2016, 10:52:30
vielen lieben Dank.
wenn ich jetzt noch SMD löten könnte. ;-(
Grüße Markus

Das klappt prima mit nem normalen Lötkolben mit kleiner feiner Spitze und 0,5mm Lötzinn. Habe extra SMD 1206 Baugrösse genommen die sind für SMD verhältnisse recht gross. Positionieren lassen die Bauteile sich dann prima mit ner Spitzen Pinzette. Einfach ein Lötpad auf der Leiterplatte mit Lötzinn benetzen, dann das Bauteil mit der Pinzette greifen und auf das mit Lötzinn benetzte Lötpad legen und dann mit dem Lötkolben kurz das Lötpad erhitzen. Schon sitzt das Bauteil sauber drauf.

Gruß matlen67
FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen