Wettermodule ( zb KS300.pm ... ) erweitern

Begonnen von Michael, 09 Februar 2014, 17:24:53

Vorheriges Thema - Nächstes Thema

Michael

Moin

Würde mir wünschen wenn dieser Wert in die Wettermodule ( zb. KS300.pm ... ) mit aufgenommen wird.  :)

######################################################
# Berechnung für den WindIndex
# Quelle : http://www.meteotest.ch/wetterprognosen/prognosen_schweiz/windtabelle
#

sub windIndex()
{
my $wI = int(ReadingsVal("DEVICE","wind",0));
        my $wIndex = "";

# Windstärken Bezeichnung

return $wIndex = "0\n" if($wI < 1);
return $wIndex = "1\n" if($wI ~~ [1..5]);
return $wIndex = "2\n" if($wI ~~ [6..11]);
return $wIndex = "3\n" if($wI ~~ [12..19]);
return $wIndex = "4\n" if($wI ~~ [20..28]);
return $wIndex = "5\n" if($wI ~~ [29..38]);
return $wIndex = "6\n" if($wI ~~ [39..49]);
return $wIndex = "7\n" if($wI ~~ [50..61]);
return $wIndex = "8\n" if($wI ~~ [62..74]);
return $wIndex = "9\n" if($wI ~~ [75..88]);
return $wIndex = "10\n" if($wI ~~ [89..102]);
return $wIndex = "11\n" if($wI ~~ [103..117]);
return $wIndex = "12\n" if($wI > 117);

}


Hätte den Vorteil das dieser Wert mit der Windgeschwindigkeit aktualisiert wird.
Und nicht in der myUtils ausgelagert werden muß.
Denn dann kommen die Werte zu unterschiedlichen Zeiten ins Logfile.
Und es würden keine Verschiebungen im Diagramm (SVG) sein.

Diesen Code habe ich zur Zeit im myUtils.pm Modul.

Leider habe ich keine Ahnung von Perl und kann es nicht selber bewerkstelligen.  :'(
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

betateilchen

Wäre es nicht sinnvoller, dann gleich ein neues Reading "windIndex" einzuführen und zu aktualisieren?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#2
Teste mal die angehängte Modulversion, da sollte ein neuer Wert "Wi: " vorhanden sein, in dem die Windstärke steht. Ich kann das selbst nicht testen, da ich keinen solchen Sensor habe.

Edit: Anhang entfernt, für aktuelle Modulversion bitte erst den Thread weiterlesen :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Michael

#3
Hallo betateilchen

Vielen Dank für die Änderung.  :)

ZitatTeste mal die angehängte Modulversion, ...
Werde es Testen und mich dann melden.

ZitatWäre es nicht sinnvoller, dann gleich ein neues Reading "windIndex" einzuführen und zu aktualisieren?]
Ja.

PS. Leider geht dann nichts mehr, das Device wird nicht Angezeigt.
          - Habe die alte KS300.pm umbenannt.
          - Die neue über den Windows Arbeitsplatz eingefügt.  :-\
          - Und den RasPi neu gestartet.

          Und diese Meldung steht im Log:
          2014.02.12 16:40:33 1: reload: Error:Modul 13_KS300 deactivated:
          Too many arguments for main::windIndex at /opt/fhem//FHEM/13_KS300.pm line 228, near "])"

          2014.02.12 16:40:33 0: Too many arguments for main::windIndex at /opt/fhem//FHEM/13_KS300.pm line 228, near "])"

Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Michael

Hallo betateilchen

Der Wi: erscheint jetzt im STATE.

Aber in der Log Datei ist öfter kein Wert hinter dem Wi.
Habe mal eine kurze Log Datei und das Device angehängt.
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

JoWiemann

Hallo Betateilchen,

habe Deine letzte Version genommen und eingespielt und bekomme nun folgende Logeinträge:

2014-02-14_19:58:32 Wetterstation T: 5.3  H: 93  W: 2.2  R: 58.4  IR: yes  Wi:
2014-02-14_20:06:09 Wetterstation T: 5.3  H: 93  W: 1.1  R: 58.4  IR: no  Wi:
2014-02-14_20:21:24 Wetterstation T: 5.3  H: 93  W: 2.7  R: 58.6  IR: yes  Wi:
2014-02-14_20:23:57 Wetterstation T: 5.3  H: 93  W: 1.6  R: 58.6  IR: no  Wi:
2014-02-14_20:36:39 Wetterstation T: 5.3  H: 93  W: 0.8  R: 58.6  IR: no  Wi: 0
2014-02-14_20:46:49 Wetterstation T: 5.3  H: 93  W: 0.8  R: 58.6  IR: no  Wi: 0
2014-02-14_20:56:59 Wetterstation T: 5.4  H: 93  W: 0.5  R: 58.6  IR: no  Wi: 0
2014-02-14_21:02:04 Wetterstation T: 5.5  H: 93  W: 1.6  R: 58.6  IR: no  Wi:
2014-02-14_21:07:09 Wetterstation T: 5.5  H: 92  W: 2.5  R: 58.6  IR: no  Wi:
2014-02-14_21:09:42 Wetterstation T: 5.5  H: 92  W: 0.5  R: 58.6  IR: no  Wi: 0

Kannst Du das mal checken. Grüße 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

det.

Hallo betateilchen,
Wenn Du gerade dabei bist das Modul anzufassen, wärest Du zu überreden, stateFormat mit einzubauen?
LG
det.

betateilchen

nein.

Aus mehreren Gründen:

1. es ist nicht mein Modul
2. habe ich keinen Sensor, um das Modul überhaupt zu testen
3. ist das Modul noch nicht auf die "neue" Readings-Logik umgestellt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Michael

#8
Hallo betateilchen,

Wie es aus sieht ändert sich jetzt der Wert Wi: nicht.

2014-02-15_12:10:56 KS300 T: 12.6  H: 65  W: 7.5  R: 984.8  IR: no  Wi: 1
2014-02-15_12:03:18 KS300 T: 12.6  H: 65  W: 6.9  R: 984.8  IR: no  Wi: 1
2014-02-15_12:00:46 KS300 T: 12.7  H: 67  W: 3.6  R: 984.8  IR: no  Wi: 1
2014-02-15_11:55:41 KS300 T: 12.3  H: 67  W: 5.0  R: 984.8  IR: no  Wi: 1
2014-02-15_11:53:08 KS300 T: 12.2  H: 67  W: 26.1  R: 984.8  IR: no  Wi: 1
2014-02-15_11:50:36 KS300 T: 12.0  H: 68  W: 4.1  R: 984.8  IR: no  Wi: 1
2014-02-15_11:48:03 KS300 T: 11.9  H: 68  W: 8.3  R: 984.8  IR: no  Wi: 1
2014-02-15_11:45:31 KS300 T: 11.9  H: 68  W: 4.1  R: 984.8  IR: no  Wi: 1
2014-02-15_11:42:58 KS300 T: 11.9  H: 68  W: 6.1  R: 984.8  IR: no  Wi: 1
2014-02-15_11:40:26 KS300 T: 11.9  H: 69  W: 6.3  R: 984.8  IR: no  Wi: 1
2014-02-15_11:37:53 KS300 T: 11.8  H: 69  W: 4.4  R: 984.8  IR: no  Wi: 1
2014-02-15_11:35:21 KS300 T: 11.7  H: 69  W: 5.2  R: 984.8  IR: no  Wi: 1
2014-02-15_11:32:48 KS300 T: 11.6  H: 69  W: 6.1  R: 984.8  IR: no  Wi: 1
2014-02-15_11:30:16 KS300 T: 11.6  H: 69  W: 5.2  R: 984.8  IR: no  Wi: 1

PS. Was mir noch aufgefallen ist, ist das wenn man ein Fhem shutdown restart macht das Device nicht mehr da ist.
      Und es nach einen rereadcfg wieder kommt.

PPS. Vll haben wir ja Glück und der Modul Autor mischt sich ein.
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

betateilchen

ist hier irgendjemand von den Leuten, die grade das Modul testen, per Skype erreichbar, damit wie das Problem direkt lösen können?

Gibt es inzwischen ein neues Reading "windIndex" im Device?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Michael

Zitat... per Skype erreichbar ...
habe ich leider nicht.
Muss mir das wohl mal Ansehen.

ZitatGibt es inzwischen ein neues Reading "windIndex" im Device?
Ja, es ist vorhanden

Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

betateilchen

gut, dann geht es nur noch um die Berechnung.

Ich werde mal ein bißchen Logging einbauen, damit ich rausfinde, wo der Wert verlorengeht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#12
grmpf... fehlende Vorwärtsdeklaration. Ein Flüchtigkeitsfehler, auf den ich immer wieder reinfalle.

Bitte nochmal testen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

det.

danke, funktioniert!

windIndex 3 2014-02-15 17:06:14
LG
det.

betateilchen

Sehr schön. Danke für die Rückmeldung.

Probier mal, ob mit dieser Version das stateFormat funktioniert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!