Windsensor

Begonnen von Waldmensch, 28 März 2014, 10:06:35

Vorheriges Thema - Nächstes Thema

Waldmensch

Ich habe noch Sensoren aus der WS-7000 Serie. Diese habe ich auf 886MHZ umgebaut und sie funktionieren Super in FHEM. Dabei ist auch ein Windsensor mit Fahne, der folgenden Output liefert:

2014-03-28 08:34:45 CUL_WS CUL_WS_8 W: 0 D: 345 A: 0
2014-03-28 08:34:45 CUL_WS CUL_WS_8 wind: 0
2014-03-28 08:34:45 CUL_WS CUL_WS_8 wind_direction: 345
2014-03-28 08:34:45 CUL_WS CUL_WS_8 wind_swing: 0
2014-03-28 08:34:45 CUL_WS CUL_WS_8 RSSI: -89
2014-03-28 08:34:45 CUL_WS CUL_WS_8 RAWMSG: K73005034


Log:
2014-03-28_09:21:39 CUL_WS_8 W: 0 D: 270 A: 0
2014-03-28_09:24:24 CUL_WS_8 W: 0 D: 270 A: 0
2014-03-28_09:27:10 CUL_WS_8 W: 0 D: 270 A: 0
2014-03-28_09:29:55 CUL_WS_8 W: 0 D: 270 A: 0
2014-03-28_09:32:41 CUL_WS_8 W: 0 D: 270 A: 0
2014-03-28_09:35:26 CUL_WS_8 W: 0 D: 270 A: 0
2014-03-28_09:38:12 CUL_WS_8 W: 0 D: 270 A: 0
2014-03-28_09:43:43 CUL_WS_8 W: 2.4 D: 275 A: 0
2014-03-28_09:46:29 CUL_WS_8 W: 0 D: 275 A: 0
2014-03-28_09:49:14 CUL_WS_8 W: 0 D: 275 A: 0
2014-03-28_09:52:00 CUL_WS_8 W: 0.4 D: 280 A: 0


Die Windstärke kann ich mir in einem Diagramm auch anzeigen lassen. Allerdings hätte ich für die Windrichtung gern sowas wie eine Windrose. Der Winkel "D" wird von 0-360 übermittelt wobei Wind aus Süd 180 entspricht also aus Nord dann vermutlich 0

Hat jemand sowas schon mal umgesetzt oder gibt es sogar eine fertige Lösung?

betateilchen

Ja gibts. Sogar hier im Forum beschrieben. Kennst Du das Suchfeld oben rechts?

http://forum.fhem.de/index.php/topic,14327.0.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Waldmensch

Ich kenne Die SuFu - habe aber vermutlich die falschen Begriffe verwendet. Der Beitrag sieht interessant aus.

marvin78

Vielleicht hast du auch nicht die falschen Begriffe verwendet, denn die Suchfunktion funktioniert nicht immer korrekt. Wenn du hier wirklich etwas finden möchtest, verwende google folgendermaßen

site:forum.fhem.de SUCHBEGRIFF

betateilchen

Zitat von: marvin78 am 28 März 2014, 12:20:45denn die Suchfunktion funktioniert nicht immer korrekt.

Doch, tut sie. Man muss aber folgendes berücksichtigen (was von vielen Leuten missachtet wird!):

Sie sucht immer in dem Bereich, in dem Du gerade stehst. Also wenn Du jetzt diesen Beitrag liest und dann oben rechts einen Suchbegriff eingibst, wird der nur im Unterforum "SlowRF" (und eventuell darunter befindlichen Unterforen) gesucht.

Deshalb empfiehlt es sich, vor einer Suche immer in den Bereich zu wechseln, in dem man suchen will. Wenn man vor der Suche die "Übersicht" auswählt, wird das gesamte Forum durchsucht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marvin78

#5
Mal ab gesehen davon, dass diese Funktionweise für eine globale Suche (und das wird bei einem Suchfeld über einem Forum impliziert) quatsch ist, stimmt das auch nicht immer. Hin und wieder wird die Suche auch über den Bereich hinaus ausgeführt und beim nächsten mal wieder eingeschränkt. Ich denke, dass das an einem nicht korrekt funktionierenden Suchindex liegt. Leider ist der Fehler aber offenbar nicht reproduzierbar. Ich suche häufig aus den ungelesenen Beiträgen oder aus der Übersicht heraus und finde oft erst beim zweiten Suchlauf was ich suche.

Und sorry aber diese Funktionsweise eines Suchfeldes, welches über einen Forum angeordnet ist, ist quatsch und alles andere als intuitiv. Ich betreibe mehrere Foren (unter anderem ein selbst programmiertes) und soetwas würde mir nie einfallen. Für eine Suche in einem bestimmten Bereich gibt es die erweiterte Suche.

Nichts desto trotz führt die Google-Suche in jedem Fall schneller und sicherer ans Ziel da sie, unter anderem, in der Lage ist, auch Typos zu korrigieren.

Waldmensch

Um nochmal zum Thema zu kommen - ich habe aus der gleichen WS7000 Serie noch einen Regenmengensensor WS 7000-16 (son runder Kübel mit Wippe drin http://www.schelli.at/wetterst.htm) Dieser ist ebenfalls auf 886MHZ umgebaut. Leider ist der auf dem Dach wo ich so schnell nicht rankomme. Es könnte sein, das er nicht mehr sendet.

Falls er doch noch senden sollte, wie bekomme ich das mit? FHEM hat bisher noch nichts über autocreate angelegt. Das kann aber auch die Ursache haben, das der Sensor nicht unterstützt wird, außerhalb des Empfang ist oder die Adresse eine Andere überlagert. Da der Windsensor erfolgreich erkannt wird, gehe ich davon aus das das Protokoll kein problem sein sollte.

Gibt es in FHEM einen Modus bei dem man nur unbekannte Messages darstellen kann? Falls der Sensor sendet und halt nur nicht unterstützt ist würde man ihn da ja entdecken.

Puschel74

Hallo,

Zitatoder die Adresse eine Andere überlagert.
Dann solltest du im Plot "Sprünge" erkennen können.
Einmal der Wert des einen Sensors und einmal der Wert des anderen.
Das würde mich aber wundern.

ZitatDieser ist ebenfalls auf 886MHZ umgebaut.
Das alleine sagt noch nichts aus - es muss u.a auch das Protokoll stimmen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

JoWiemann

Hallo,

der Umbau würde mich interessieren und ich würde mich über eine Beschreibung freuen. Danke Dir.

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

Waldmensch

#9
Zitat von: JoWiemann am 29 März 2014, 12:59:57
Hallo,

der Umbau würde mich interessieren und ich würde mich über eine Beschreibung freuen. Danke Dir.

Jörg

Also der Umbau ist völlig unspektakulär. Du besorgst dir den Billigsten 886Mhz Sender den du kriegen kannst (defekter FHT88 oder so) und lötest ihn statt dem 443Mhz Sender ein. FHEM erkennt den Sensor von allein und ordnet ihn unter WS7000 ein

Windsensor:
Internals:
   CODE       8
   DEF        8
   IODev      CUL_0
   NAME       CUL_WS_8
   NR         151
   STATE      W: 0 D: 165 A: 0
   TYPE       CUL_WS
   corr1      0
   corr2      0
   corr3      0
   corr4      0
   Readings:
     2014-03-29 11:28:29   DEVFAMILY       WS7000
     2014-03-29 11:28:29   DEVTYPE         Wind
     2014-03-29 11:28:29   state           W: 0 D: 165 A: 0
     2014-03-29 11:28:29   wind            0
     2014-03-29 11:28:29   wind_direction  165
     2014-03-29 11:28:29   wind_swing      0
Attributes:
   alias      Sensor Wind
   room       CUL_WS


Einziges Problem ist, das der WS7000-20 (innensensor T/H/P) unter der selben ID 8 sendet. Wenn ich die Jumper intern umsetze wird er aber nicht mehr als T/H/P erkannt sondern so:

Internals:
   CODE       6
   CUL_0_MSGCNT 3
   CUL_0_RAWMSG K543142351398
   CUL_0_RSSI -61
   CUL_0_TIME 2014-03-29 14:37:41
   DEF        6
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     3
   NAME       CUL_WS_6
   NR         154
   STATE      T: 23.1  H: 35.4
   TYPE       CUL_WS
   corr1      0
   corr2      0
   corr3      0
   corr4      0
   Readings:
     2014-03-29 14:37:41   DEVFAMILY       WS7000
     2014-03-29 14:37:41   DEVTYPE         TH5
     2014-03-29 14:37:41   humidity        35.4
     2014-03-29 14:37:41   state           T: 23.1  H: 35.4
     2014-03-29 14:37:41   temperature     23.1
Attributes:
   alias      Sensor Flur
   room       CUL_WS


Dann habe ich den Windsensor und den Innensensor zwar getrennt, aber ohne Luftdruck. Lasse ich den WS7000-20 "ungejumpert" laufen die Werte unter einem Sensor auf. Ich habe mir beholfen indem ich 2 Logfiles erstelle und damit die Sensordaten auseinanderklamüsere. Einmal mit T:.* den Temperatursensor und mit W:.* den Windsensor

define CUL_WS_8 CUL_WS 8
attr CUL_WS_8 alias Sensor WS7000
attr CUL_WS_8 room CUL_WS

define FileLog_CUL_WS_8a FileLog ./log/CUL_WS_8a-%Y.log CUL_WS_8:T:.*
attr FileLog_CUL_WS_8a alias Log Sensor Flur
attr FileLog_CUL_WS_8a logtype temp4hum6:Temp/Hum,text
attr FileLog_CUL_WS_8a room CUL_WS

define FileLog_CUL_WS_8b FileLog ./log/CUL_WS_8b-%Y.log CUL_WS_8:W:.*
attr FileLog_CUL_WS_8b alias Log Sensor Wind
attr FileLog_CUL_WS_8b logtype temp4hum6:Temp/Hum,text
attr FileLog_CUL_WS_8b room CUL_WS

define SVG_CUL_WS_8a SVG FileLog_CUL_WS_8a:SVG_CUL_WS_8a:CURRENT
attr SVG_CUL_WS_8a label "CUL_WS_8 Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_CUL_WS_8a room Plots

define SVG_CUL_WS_8b SVG FileLog_CUL_WS_8b:SVG_CUL_WS_8b:CURRENT
attr SVG_CUL_WS_8b label "CUL_WS_8 Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_CUL_WS_8b room Plots



Edit: Bild von WS7000-20 @ 886Mhz angefügt

betateilchen

Zitat von: Waldmensch am 29 März 2014, 15:14:41
Einziges Problem ist, das der WS7000-20 (innensensor T/H/P) unter der selben ID 8 sendet. Wenn ich die Jumper intern umsetze wird er aber nicht mehr als T/H/P erkannt

Logisch.

Die Typerkennung (beispielsweise T/H oder T/H/P)erfolgt anhand von zwei Bytes aus der empfangenen Nachricht. Die leiten sich u.a. aus der Hardwareadresse ab. Wenn Du also die Hardwareadresse änderst, kommen bei der Typerkennung andere Bytes raus und die führen zu einer falschen Einordnung Deines Sensors.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Waldmensch

Danke für die Erklärung. Also ist meine Herangehensweise mit dem Log aufsplitten schon die Richtige? (wenn ich den Luftdruck haben möchte) Oder kann ich den die 14_CUL_WS.pm irgendwie überlisten? Das mit dem Aufsplitten sorgt ja für vernünftige Charts und die Readings enthalten die Werte von beiden Sensoren, wenn man mal vom "state" absieht, der immer wechselt. Aber wenn man das berücksichtigt und im weiteren Verlauf nur auf die Einzelwerte zugreift ist das ja kein Problem.

   Readings:
     2014-03-29 15:43:17   DEVFAMILY       WS7000
     2014-03-29 15:43:17   DEVTYPE         Indoor
     2014-03-29 15:43:17   humidity        36.5
     2014-03-29 15:43:17   pressure        1012
     2014-03-29 15:43:17   state           T: 22.8  H: 36.5  P: 1012
     2014-03-29 15:43:17   temperature     22.8
     2014-03-29 15:39:31   wind            0
     2014-03-29 15:39:31   wind_direction  165
     2014-03-29 15:39:31   wind_swing      0

betateilchen

ich verstehe nicht, warum Du überhaupt zwei Logfiles brauchst?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Waldmensch

Zitat von: betateilchen am 29 März 2014, 15:55:50
ich verstehe nicht, warum Du überhaupt zwei Logfiles brauchst?

Ich bin nicht so der Profi im SVG Chart erstellen aber dachte mir, das es Probleme bei den Spalten gibt wenn das Log so aussieht

2014-03-29_14:54:51 CUL_WS_8 T: 23.6  H: 36.4  P: 1013
2014-03-29_14:55:23 CUL_WS_8 W: 0 D: 165 A: 0
2014-03-29_14:57:33 CUL_WS_8 T: 23.5  H: 36.3  P: 1013
2014-03-29_14:58:08 CUL_WS_8 W: 0 D: 165 A: 0
2014-03-29_15:00:14 CUL_WS_8 T: 23.4  H: 36.3  P: 1013
2014-03-29_15:00:54 CUL_WS_8 W: 0 D: 165 A: 0
2014-03-29_15:02:55 CUL_WS_8 T: 23.4  H: 36.3  P: 1013

betateilchen

Die Zeilen sind doch eindeutig unterscheidbar, da sollte es keine Probleme geben. Gib mir mal 10 Minuten, ich bau mal was.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!