Jeelik Modul zur Einbindung von La Crosse!

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

Vorheriges Thema - Nächstes Thema

Micha_88

Hallo zusammen,

gibt es auch eigentlich eine Möglichkeit Temperatur oder Luftfeuchtigkeitswerte in fhem zu korrigieren? Ich habe aktuell mehrere TX 29 DT-HT Sensoren im Einsatz. Wenn ich diese direkt nebeneinander lege weichen die Luftfeuchtigkeitswerte um 5 - 6 Prozent voneinander ab.

Gruß Micha

HCS

Zitat von: Micha_88 am 01 Februar 2016, 21:07:00
gibt es auch eigentlich eine Möglichkeit Temperatur oder Luftfeuchtigkeitswerte in fhem zu korrigieren?
Ein Blick in die commandref (den man gerne mal werfen darf) offenbart das hier:
LaCrosse

FHEM module for LaCrosse Temperature and Humidity sensors and weather stations like WS 1600 (TX22 sensor).

It can be integrated in to FHEM via a JeeLink as the IODevice.

The JeeNode sketch required for this module can be found in .../contrib/36_LaCrosse-pcaSerial.zip.

Define
define <name> LaCrosse <addr> [corr1...corr2]

addr is a 2 digit hex number to identify the LaCrosse device.
corr1..corr2 are up to 2 numerical correction factors (corr1 for the temperature and corr2 for the humidity), which will be added to the respective value to calibrate the device.

axel.mohnen

Hallo,

jetzt hat es endlich gefunzt  ;D (Mit intcommand "2r 0a v" und mehrmals "pairen").
Die WS1600 wurde über autocreate angelegt.

Nochmals vielen Dank an Alle für den super Support!!  :)

Viele Grüsse
Axel

AxelSchweiss

Hi
Kannst du die ConfigSektion der WS1600 mal hier posten?
Da ich sie ja von Hand angelegt habe interessiert mich ob ich sie auch vollständig angelegt habe.
Danke

axel.mohnen

Hi Axel,

anbei findest du die Config. Die "Event" Attribute habe ich selbst angelegt alles Andere wurde automatisch generiert.
Wie hast du deine Events konfiguriert um die Logeinträge zu begrenzen?

Config:
define LaCrosse_2A LaCrosse 2A
attr LaCrosse_2A IODev cul_jeelink
attr LaCrosse_2A event-min-interval state:600,battery:3600,temperature:300,humidity:300, rain:300
attr LaCrosse_2A event-on-change-reading state
attr LaCrosse_2A event-on-update-reading .*
attr LaCrosse_2A room LaCrosse
define FileLog_LaCrosse_2A FileLog ./log/LaCrosse_2A-%Y.log LaCrosse_2A
attr FileLog_LaCrosse_2A logtype text
attr FileLog_LaCrosse_2A room LaCrosse


Internals:
Internals:
   DEF        2A
   IODev      cul_jeelink
   LASTInputDev cul_jeelink
   LaCrosse_lastRcv 2016-02-03 21:18:56
   MSGCNT     51
   NAME       LaCrosse_2A
   NR         171
   STATE      T: 65535
   TYPE       LaCrosse
   addr       2A
   battery_new 0
   bufferedH
   bufferedT
   corr1      0
   corr2      0
   cul_jeelink_MSGCNT 51
   cul_jeelink_RAWMSG OK WS 42 1 255 255 255 0 5 255 255 255 255 255 255 0
   cul_jeelink_TIME 2016-02-03 21:18:56
   previousH  255
   previousR  2.5
   previousT  65535
   sensorType 1=TX22
   Readings:
     2016-02-03 21:18:47   battery         ok
     2016-02-03 21:18:47   error           0
     2016-02-03 21:17:44   humidity        51
     2016-02-03 21:18:56   rain            2.5
     2016-02-03 21:17:57   state           T: 65535
     2016-02-03 21:15:47   temperature     21.2
     2016-02-03 21:18:42   windDirectionDegree 22.5
     2016-02-03 21:18:42   windDirectionText NNE
     2016-02-03 21:18:47   windGust        0
     2016-02-03 21:18:42   windSpeed       0
Attributes:
   IODev      cul_jeelink
   event-min-interval state:600,battery:3600,temperature:300,humidity:300, rain:300
   event-on-change-reading state
   event-on-update-reading .*
   room       LaCrosse


Ich habe im Jeelink das initCommand wieder auf 5m 30t gesetzt, jetzt werden mein TX29 und TX22 sauber empfangen  :)

Gruss
Axel

axel.mohnen

Mir ist noch aufgefallen das die Temperatur im State merkwürdig ist:
STATE T: 65535 H: 51

Ist das normal?

Billy

Zitat von: axel.mohnen am 03 Februar 2016, 21:35:48
Mir ist noch aufgefallen das die Temperatur im State merkwürdig ist:
STATE T: 65535 H: 51

Ist das normal?
das ist nicht der Normalfall.
Kommt vermutlich von den Internals previousT  65535  -->  STATE      T: 65535
Passiert bei mir wenn ich zu weit von der WS1600 (TX22) weg bin.

geh mal auf eine bessere Empfangsposition ob es dann besser wird.

Merkwürdig ist dass trotzdem die temperature     21.2 immer (auch bei mir) richtig angezeigt wird.
Vielleicht ist da noch ein Bug im Modul?


FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

AxelSchweiss

Zitat von: axel.mohnen am 03 Februar 2016, 21:35:48
Mir ist noch aufgefallen das die Temperatur im State merkwürdig ist:
STATE T: 65535 H: 51
Ist das normal?

Habe ich auch ab und zu mal im Log stehen aber es schein nicht "durchzuschlagen" da die Graphen keine Ausreisser zeigen.

Ansonsten habe ich noch zwei abweichende Einträge in der Definition stehen
attr Wetterstation event-min-interval state:600,battery:3600,temperature:300,humidity:300,windDirectionDegree:300,windDirectionText:300,windGust:300,windSpeed:300,rain:300,error:300
attr Wetterstation stateFormat Windrichtung: windDirectionText Windgeschwindigkeit: windSpeed m/s Regen: rain mm/m^2




Wzut

Zitat von: AxelSchweiss am 03 Februar 2016, 21:58:50
aber es schein nicht "durchzuschlagen" da die Graphen keine Ausreisser zeigen.
denn Fall hat HCS auch abgefangen , siehe 36_LaCrosse.pm :
# Round and write temperature and humidity
      if ($temperature != 0xFFFF) {   
     
0xFFFF = 65535 :)
aber ein paar Zeilen tiefer wird state zusammengebaut und da gibt es keine Prüfung mehr ob temp noch den vorbesetzten Wert von 0xFFFF hat :
# STATE
      if( !$channel ) {
        my $state = "T: ". $temperature;


Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

HCS

Das 65535 Thema habe ich schon einige Zeit auf der Agenda, bin nur noch nicht dazu gekommen.
Wird irgend wann aber mal noch ...

Hintergrund: die WS 1600 sendet nicht immer alle Daten (Temp, Humi, Wind, ...) sondern mal dies und mal das und die 0xFF setzt der Sketch auf dem JeeLink als Kennzeichen, dass diese Information (z.B. Temperatur) aktuell nicht vorliegt. Nur wird es, wie wzut schon bemerkt hat, nicht ganz vollständig im 36_LaCrosse weggefiltert.

bmwfan

Hallo,
ich habe eine generelle Frage zu den Sensoren und komme nicht wirklich weiter.

Ich habe einen CUL mit 868 MHz für FHEM. Habe dann dazu einen JeeLink mit 433 MHz gekauft, da ich der Meinung war (irgendwo im Forum gelesen), dass die preislich interessanten LaCrosse Sensoren mit 433 MHz senden. Jeelink bestellt und, da ich im Moment viel an Tablet-UI herummache, liegen gelassen. Nachdem ich die ersten Seiten auf dem Tablet-UI fertig habe wollte ich jetzt die Sensoren bestellen und merke zu meinem Schreck, dass alle LaCrosse Sensoren, die im Wiki als Funktionsfähig geführt werden, auf 868 MHz senden. Ergo: Geht mit meinem JeeLink nicht.
Zurücksenden is nich mehr => Frage 1: Gibt es funktionsfähige und preislich akzeptable Sensoren mit 433 MHz?
Frage 2: Wenn nicht: Muss es ein Jeelink mit 868 MHz sein oder gibt es dazu Alternativen?

Hoffe, jemand hat hiermit Erfahrung und kann mir weiterhelfen.

Gruß Jürgen


Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

Christian1982

Hallo zusammen,

ich wollte nochmal nachfragen warum die FHEM Implementierung nicht die Adressen verwendet, die auf dem TX29DTH Display angezeigt werden?
In FHEM werden die Sensoren mit "LaCrosse_XX" angelegt, XX ist dabei die hex-Adresse aus den Rohdaten.
Aus mir bisher nicht bekannten Gründen wird dieser Adresse jedoch nicht auf dem TX29DTH Display angezeigt sondern dezimal2hex(ID-Rohdaten * 4) = ID.
Warum verwendet FHEM diese IDs vom TX29DTH Display nicht auch, dann wäre die Zuordnung wesentlich einfacher, so muss ich immer umrechnen.

Bei der Erstellung eines eigenen Skriptes ist mir auch aufgefallen, dass die TX29DTH beim einlegen der Batterien immer "SP6" und danach die Adresse anzeigen. Erst war mich nicht klar wie ich von den Rohdaten auf diese Adresse komme, nach etwas teste ergibt sich folgender Weg: dezimal2hex(ID * 4) = ID auf dem Display
['OK', '9', '8', '1', '4', '151', '55']    -> 20      (dezimal2hex(8 * 4) = 20)       ---> FHEM verwendet dezimal2hex(8 ) = 8
['OK', '9', '35', '1', '4', '150', '56']  -> 8C      (dezimal2hex(35 * 4) = 8C)     ---> FHEM verwendet dezimal2hex(35) = 23
['OK', '9','43', ....]  -> AC                           (dezimal2hex(43 * 4) = AC)     ---> FHEM verwendet dezimal2hex(43) = 2b

HCS

Zitat von: Christian1982 am 06 Februar 2016, 22:54:29
ich wollte nochmal nachfragen warum die FHEM Implementierung nicht die Adressen verwendet, die auf dem TX29DTH Display angezeigt werden?
Das ist ein "Geburtsfehler" des LaCrosse-Sketch. Das Thema gab es vor geschätzt ca. einem Jahr schon mal.
Die Adressen, die der Sketch übermittelt zu ändern würde aber bedeuten, dass alle Anwender ihre bereits eingerichteten Sensoren anpassen müssen. Darum wurde es belassen, wie es ist.

HCS

Zitat von: bmwfan am 04 Februar 2016, 21:25:27
Frage 1: Gibt es funktionsfähige und preislich akzeptable Sensoren mit 433 MHz?
Mir sind aktuell keine bekannt. Die meisten 433MHz Sensoren senden OOK, was vom LaCrosse-Sketch nicht unterstützt wird.

Zitat von: bmwfan am 04 Februar 2016, 21:25:27
Frage 2: Wenn nicht: Muss es ein Jeelink mit 868 MHz sein oder gibt es dazu Alternativen?
Kann man auch mit einem Arduino und einem RFM69 selbst basteln.
Oder den 433MHz RFM vom JeeLink runterlöten und einen 868er drauflöten.
Allerdings muss man dazu seine Lötkünste vorher realistisch einschätzen. Ich habe mal von einem JeeLink den RFM12 runtergelötet und einen RFM69CW draufgelötet. Machbar ist es, aber man muss sehr achtgeben, dass man die Pads auf der Platine nicht killt.

Christian1982

Zitat von: HCS am 06 Februar 2016, 23:54:54
Das ist ein "Geburtsfehler" des LaCrosse-Sketch.

Ich verstehe.
Das könnte man ja einfach mit einem zusätzlichen Parameter für "initCommands" lösen, um bei gesetztem Parameter die "korrekten" Adressen auszugeben.

Mir ist auch aufgefallen, das bei TECHNOLINE TX25 in der Übersicht nur die erste "temperature" ("T:") angezeigt wird, die "temperature2" sehe ich nur in den Details.
Müsste hier die Anzeige nicht "T: 19 T2: 22" sein, bei TX29DTH werden ja auch Temperatur und Feuchtigkeit (T: 18.3 H: 45) angezeigt.