Jeelik Modul zur Einbindung von La Crosse!

Begonnen von Billy, 16 September 2013, 15:12:15

Vorheriges Thema - Nächstes Thema

HCS

Zitat von: Prof. Dr. Peter Henning am 19 Mai 2015, 17:45:28
@HCS: Gibt es irgendwo eine Quelle, aus der man die Kennungen der LaCrosse-Sensoren erfahren kann ? Wäre für einen Link dankbar.
Ist mir keine bekannt.

Prof. Dr. Peter Henning

Na, dann sehe ich mir das mal im Labor genauer an. Interessant in diesem Zusammenhang: http://www.jacquet80.eu/blog/post/2011/10/Decodage-capteur-thermo-hygro-TFA

LG

pah

JoeALLb

Kann mich mal jemand auf den aktuellen Stand bringen, ich konnte hier beim Drüberlesen über die vielen Seiten nichts neues mehr entdecken:

* Das Senden von Temperaturen geht noch immer nicht, oder?

Ist der Code zum Testen der Sendefunktion noch im Code vorhanden, oder wurde dieser bereits wieder entfernt. Gibt es zwischenzeitlich eine Idee, warum
die Temperaturen jeweis nur einmal gesendet werden konnten?

Hintergrund: Ich möchte in der Wetterstations-Anzeige die Temperatur eines 1-wire Sensors einspeisen, da dieser zuverlässiger funktioniert und keine jährlichen Batteriewechsel benötigt.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

HCS

Zitat von: JoeALLb am 20 Mai 2015, 12:57:57
* Das Senden von Temperaturen geht noch immer nicht, oder?
Das Senden schon, nur spielen die Stationen irgendwie beim Anzeigen nicht mit

Zitat von: JoeALLb am 20 Mai 2015, 12:57:57Ist der Code zum Testen der Sendefunktion noch im Code vorhanden, oder wurde dieser bereits wieder entfernt
Noch vorhanden

Zitat von: JoeALLb am 20 Mai 2015, 12:57:57Gibt es zwischenzeitlich eine Idee, warum die Temperaturen jeweis nur einmal gesendet werden konnten?
Nein

HCS

Zitat von: Prof. Dr. Peter Henning am 20 Mai 2015, 12:30:50Na, dann sehe ich mir das mal im Labor genauer an.
Zu diesem Thema habe ich gerade in Poolthermometerthread eine "Abhandlung" geschrieben: http://forum.fhem.de/index.php/topic,24599.msg296339.html#msg296339
So als richtungsweisende Grundlage, da ist auch ein Link zu noch jemand drin, der so etwas auch schon mal gemacht und schön dokumentiert hat.

Wenn man es durch "Hardware lauschen" ermitteln will, ist das eine gute Vorgehensweise.

Prof. Dr. Peter Henning

Vlt. noch ein Hinweis: Wie kann man den Jeelink mit dem neuen Sketch in der Frequenz ändern ? Ich wollte mal auf 868.45 lauschen...

LG

pah

HCS

Zitat von: Prof. Dr. Peter Henning am 20 Mai 2015, 17:48:21Wie kann man den Jeelink mit dem neuen Sketch in der Frequenz ändern ?

"Available commands:" "\n"
"  <n>a                     - activity LED (0=off, 1=on)" "\n"
"  <t10>,<t1>,<t0>,<hum>c   - set temperature and humidity for transmit" "\n"
"  <n>d                     - DEBUG mode (0=suppress TX and bad packets)" "\n"
"  <nnnnnn>f                - frequency (5 kHz steps e.g. 868315)" "\n"
"  <id>,<int>,<nbt>,<dr>i   - set the parameters for the transmit loop" "\n"
"  <n>m                     - toggle mode (1: 17.241 kbps, 2: 9.579 kbps, 4: 8.842 kbps)" "\n"
"  <n>p                     - show raw payload data (0 = off, 1 = on)" "\n"
"  <n>r                     - data rate (0: 17.241 kbps, 1: 9.579 kbps, 2: 8.842 kbps)" "\n"
"  b1,b2,b3,b4s             - send the passed bytes plus the calculated CRC" "\n"
"  <n>t                     - toggle data rate intervall (0=no toggle, >0=seconds)" "\n"
"  <n>v                     - version and configuration report" "\n"
"  <n>x                     - used for tests" "\n"
"  <n>y                     - Relay (0=no relay, 1=Relay received packets)" "\n"


Wenn jemand so nett wäre und das ins wiki packen würde, wäre hilfreich für die Zukunft.

Nachtrag: natürlich in einer etwas ansprechenderen Form  ;D

HCS

Zitat von: Prof. Dr. Peter Henning am 20 Mai 2015, 17:48:21Ich wollte mal auf 868.45 lauschen...
Da würde es sich anbieten, den Sensor mal neben einen Spectrum Analyzer zu stellen, dann hätte man die Frequenz schon mal sicher und auch das Interval, in dem er sendet. Beides sehr hilfreich, wenn man es weiß.
Natürlich auch mit einem SDR machbar, wie in Deinem link geschehen.

Wzut

Zitat von: HCS am 20 Mai 2015, 09:17:22
oder was bedeutet "auf Grund der benutzen Hardware"?
Eventuell könnte man das ja im Sketch universell funktionierend machen.
andere Hardware = Arduino Mega ( der liegt immer zm spielen auf dem Schreibtisch :) )
und da sind halt immer die SPI Pins anzupassen :

RFM12 rfm(11, 12, 13, 10, 2);
RFM12 rfm(51, 52, 53, 50, 2);  <- Mega

denke aber nicht das sich das lohnt mit aufzunehmen. Habe deine Beta jetzt am laufen mit allen drei Frequenzen und Wechsel alle 30 Sekunden.
Schaut bisher gut aus mit 6x TX29IT , 1x  EMT7110 und die WS1600
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

HCS

Oh, der läuft auf einem Mega. Hatte ich nie probiert. Habe ich auch einen rumliegen, der sich langweilt. Muss ich ja glatt mal testen.

Aber dann geht vereinheitlichen eh nicht, weil der Maga ja auch ein anderes Compilat braucht.
Da bin ich dann Deiner Meinung - so selten, wie der Sketch sich ändert, hast Du es auch schnell mal angepasst und für den Mega gebildet.

So wie es aktuell aussieht passt das Ganze wohl, dann werde ich den Sketch und das LaCrosse Modul voraussichtlich am Wochenende einchecken, dass es offiziell zur Verfügung steht.

Prof. Dr. Peter Henning

Einen Schritt weiter: Laut Spektrumanalysator senden die Sensoren der TX56 und TX57 bei 868.50 MHz.

Mit den Frequenzeinstellungen 868.50, 868.55 und 868.60 bekomme ich auch Unmengen an Paketen herein - aber mit allen drei Datenrateneinstellungen bisher nichts Verwertbares.

LG

pah

HCS

Zitat von: Prof. Dr. Peter Henning am 22 Mai 2015, 14:53:51Einen Schritt weiter: Laut Spektrumanalysator senden die Sensoren der TX56 und TX57 bei 868.50 MHz.
Prima. Senden die im LaCrosse typischen Intervall von 4 Sekunden?

Nun wäre die data rate zu ermitteln, da es wohl keine der drei bisherigen ist.

Ich hätte da so eine Idee. Ich könnte im Sketch einen scan mode implementieren, der so aussehen könnte (Eckdaten und increments noch genau zu überlegen):

Der Sketch beginnt bei 868100 kHz und empfängt auf jeder möglichen data rate eine Minute lang und gibt die Rohdaten raus, wie beim 1p mode. Danach erhöht er die Frequenz um 5 kHz und arbeitet wieder die data rates durch. Beim Wechsel von Frequenz oder data rate schreibt er dies als Überschrift raus.

Dann könnte man (Du?) auf FHEM Seite eine Mustererkennung implementieren, die Alarm schlägt, wenn in den übermittelten Daten ein sich wiederholendes Muster erkennbar ist.

Damit hätte man die Chance (aber keine Garantie), generell für unbekannte Sensoren die Frequenz und die data rate zu finden.

Eventuell mit Konfiguration, Beispiel: 868200,868600n
würde von 868200 kHz bis 868600 kHz scannen.

Die Daten würden so wie bei 1p aussehen, nur dass bei jedem Wechsel von Frequenz oder data rate eine Überschrift ausgegeben wird, z.B. so:
868205@9579

Wenn dann vom Sensor erst mal Daten empfangen werden können, muss natürlich noch das Protokoll analysiert werden.

Steigerbalett

Auch von mir: Vielen Dank für die gute Arbeit!

Der Betasketch 10.1i läuft auch bei mir bisher problemlos.
Ich betreibe den JeeLinkClone mit einem RFM69HW und den initCommands: 7m 30t v

{[LaCrosseITPlusReader.10.1i (RFM69CW) @AutoToggle 30 Seconds / 868300 kHz]}

Alle meine Sender werden soweit korrekt empfangen:

TX25TP-IT
TX29DTH-IT
30.3156.WD

HCS

Habe das LaCrosse Modul und den Sketch eingecheckt, kommt morgen mit dem Update.

Hier nochmal die Änderungen:
Jetzt wäre es ideal, wenn es jemand ins wiki packen würde  ;)

Sketch 10.1i:
- Neues Kommando p: 1p aktiviert den raw payload mode, die empfangenen Daten werden 1:1 auf der seriellen Schnitstelle ausgegeben
- TX22 (WS 1600) implementiert
- Neue data rate 8.842 kbps, kann mit 2r gesetzt werden
- Neues Kommando m: bestimmt, welche data rates der toggle mode verwendet. Default=3
m ist bit codiert
1: 17.241 kbps
2: 9.579 kbps
4: 8.842 kbps
Beispiele:
3m -> wechselt zwischen 17.241 kbps und 9.579 kbps
5m -> wechselt zwischen 17.241 kbps und 8.842 kbps
7m -> wechselt zwischen allen drei data rates

Um die WS 1600 (TX22) zu verwenden:
FHEM mit Update auf den aktuellen Stand bringen
Den Sketch 10.1i flashen (set myJeeLink flash)
In initCommands vom JeeLink die data rate mit 2r auf 8.842 kbps setzten oder einen Toggle Mode verwenden, in dem 8.842 kbps vorkommen
Batterien aus dem TX22 raus und wieder rein
Mit set myJeeLink LaCrossePairForSec 120 das pairing aktivieren
Danach sollte ein LaCrosse device angelegt werden und nach und nach die Daten eintrudeln.

Zu beachten ist, dass der TX22 nur die ersten 5 Stunden alle Daten alle 4 Sekunden sendet, danach nur dies und das mal.
Es kann also einige Zeit dauern, bis alle Readings da sind.

Readings: rain ist in mm und wind in m/s



Prof. Dr. Peter Henning

@HCS.

Hm. Eine Mustererkennung, die aus beliebigen Binärdaten wiederkehrende Sequenzen herausfischt ? Das versucht SETI seit ein paar Jahrzehnten, Software dafür gibt es frei verfügbar. Aber für einen Kleinstcomputer mit FHEM ist das etwas zu anspruchsvoll.

Auch eine KI kann ich mir auf einem Raspberry Pi nur schwer vorstellen.

LG

pah