FHEM Forum

FHEM - Entwicklung => Wunschliste => Thema gestartet von: Michael am 09 Februar 2014, 17:24:53

Titel: Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Michael am 09 Februar 2014, 17:24:53
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.  :'(
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 12 Februar 2014, 11:17:40
Wäre es nicht sinnvoller, dann gleich ein neues Reading "windIndex" einzuführen und zu aktualisieren?
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 12 Februar 2014, 11:30:50
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 :)
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Michael am 12 Februar 2014, 16:44:01
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 "])"

Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Michael am 14 Februar 2014, 19:40:13
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.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: JoWiemann am 14 Februar 2014, 21:14:29
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
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 15 Februar 2014, 11:26:45
Hallo betateilchen,
Wenn Du gerade dabei bist das Modul anzufassen, wärest Du zu überreden, stateFormat mit einzubauen?
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 11:37:15
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.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Michael am 15 Februar 2014, 12:34:02
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.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 13:21:39
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?

Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Michael am 15 Februar 2014, 13:33:34
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

Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 14:37:02
gut, dann geht es nur noch um die Berechnung.

Ich werde mal ein bißchen Logging einbauen, damit ich rausfinde, wo der Wert verlorengeht.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 16:18:14
grmpf... fehlende Vorwärtsdeklaration. Ein Flüchtigkeitsfehler, auf den ich immer wieder reinfalle.

Bitte nochmal testen.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 15 Februar 2014, 17:13:57
danke, funktioniert!

windIndex 3 2014-02-15 17:06:14
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 17:34:45
Sehr schön. Danke für die Rückmeldung.

Probier mal, ob mit dieser Version das stateFormat funktioniert.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 15 Februar 2014, 18:05:50
hallo betateilchen,
danke, funktioniert erst halb. Nach manuellem Setzen von stateFormat Temperatur: temperature °C Windstärke: windIndex Luftfeuchtigkeit: humidity % erschein es mit den richtigen Werten in FHEMWeb, nach Aktualisierung der Werte vom Device steht da wieder z.B: T: 6.5 H: 71 W: 5.5 R: 238.7 IR: no Wi: 1
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 18:08:39
Das hab ich mir gedacht. Das Modul beschreibt STATE selbst, anstatt state zu verwenden.

Ich bastel nochmal was. Gib mir noch 10 Minuten.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 18:12:20
nochmal testen bitte
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 15 Februar 2014, 18:19:45
das waren keine 10 min. Ich finde das großartig, dass Du Dich der Sache annimmst, obwohl Du das Device gar nicht im Garten rumstehen hast!
----> perfect funktioniert! Das war das letzte Modul ohne stateFormat in meiner config!
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 15 Februar 2014, 18:24:58
hab leider noch was entdeckt, der STATE aktualisiert sich nicht automatisch sondern bleibt auf dem letzten Wert stehen trotz neuer geänderter Daten vom Device.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 18:26:20
ok.

Dann bist DU jetzt aber dran, Rudi (rudolfkoenig) davon zu überzeugen, das Modul in der geänderten Fassung "offiziell" zu machen.
Hier noch der zugehörige Patch für die Moduldatei, nach dem er Dich fragen wird.



mba:FHEM udo$ svn diff 13_KS300.pm
Index: 13_KS300.pm
===================================================================
--- 13_KS300.pm (revision 4929)
+++ 13_KS300.pm (working copy)
@@ -5,6 +5,7 @@
use strict;
use warnings;

+sub windIndex($);

#####################################
sub
@@ -21,7 +22,7 @@
   $hash->{UndefFn}   = "KS300_Undef";
   $hash->{ParseFn}   = "KS300_Parse";
   $hash->{AttrList}  = "IODev do_not_notify:0,1 showtime:0,1 model:ks300 ".
-                        "rainadjustment:0,1 ignore:0,1";
+                        "rainadjustment:0,1 ignore:0,1 stateFormat";
   $hash->{AutoCreate}=
     { "KS300.*" => {
          GPLOT => "temp4rain10:Temp/Rain,hum6wind8:Wind/Hum,",
@@ -98,9 +99,9 @@

     my @v;
     my @txt = ( "rain_raw", "rain", "wind", "humidity", "temperature",
-                "israining", "unknown1", "type_raw", "unknown3");
+                "israining", "unknown1", "type_raw", "unknown3", "windIndex");
     my @sfx = ( "(counter)", "(l/m2)", "(km/h)", "(%)", "(Celsius)",
-                "(yes/no)", "","","");
+                "(yes/no)", "","","","");
     my %repchanged = ("rain"=>1, "wind"=>1, "humidity"=>1, "temperature"=>1,
                 "israining"=>1);

@@ -220,12 +221,13 @@
     $v[3] = "$a[22]$a[21]" + 0;
     $v[4] = "$a[20]$a[19].$a[18]" + 0; $v[4] = "-$v[4]" if($a[17] eq "7");
     $v[4] = sprintf("%0.1f", $v[4]);
-
     $v[5] = ((hex($a[17]) & 0x2) || $haverain) ? "yes" : "no";
     $v[6] = $a[29];
     $v[7] = $a[16];
     $v[8] = $a[17];

+ $v[9] = windIndex($v[2]);
+
     # Negative temp
     $v[4] = -$v[4] if($v[8] & 8);

@@ -234,9 +236,10 @@
     my $max = int(@v);

     # For logging/summary
-    my $val = "T: $v[4]  H: $v[3]  W: $v[2]  R: $v[1]  IR: $v[5]";
+    my $val = "T: $v[4]  H: $v[3]  W: $v[2]  R: $v[1]  IR: $v[5]  Wi: $v[9]";
     Log3 $def, 4, "KS300 $dev: $val";
-    $def->{STATE} = $val;
+#    $def->{STATE} = $val;
+ readingsSingleUpdate($hash,'state',$val,1);
     $def->{CHANGED}[0] = $val;

     for(my $i = 0; $i < $max; $i++) {
@@ -337,6 +340,25 @@

}

+sub windIndex($) {
+# Windst?rken Bezeichnung
+ my ($w) = @_;
+ $w *= 10;
+ return  "0" if($w < 10);
+ return  "1" if($w ~~ [10..59]);
+ return  "2" if($w ~~ [60..119]);
+ return  "3" if($w ~~ [120..199]);
+ return  "4" if($w ~~ [200..289]);
+ return  "5" if($w ~~ [290..389]);
+ return  "6" if($w ~~ [390..499]);
+ return  "7" if($w ~~ [500..619]);
+ return  "8" if($w ~~ [620..749]);
+ return  "9" if($w ~~ [750..889]);
+ return "10" if($w ~~ [890..1029]);
+ return "11" if($w ~~ [1030..1170]);
+ return "12" if($w > 1170);
+}
+
1;

=pod
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 15 Februar 2014, 18:27:36
Wird die Änderung vielleicht nur nicht angezeigt? Hast Du mal die Seite mit der Detailansicht im Browser neu geladen?
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 15 Februar 2014, 18:31:38
ja, habe ich - ist leider so wie schon geschrieben. Sorry, bin erst mal weg für die nächsten Stunden - bis die Nacht, oder Morgen früh!
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Michael am 16 Februar 2014, 09:36:27
Hallo betateilchen

Zitat... Ich finde das großartig, dass Du Dich der Sache annimmst, obwohl Du das Device gar nicht im Garten rumstehen hast!
Da kann ich mich nur Anschließen.  :) :) :)

Zitat
« Antwort #12 am: 15 Februar 2014, 16:18:14 »
grmpf... fehlende Vorwärtsdeklaration. Ein Flüchtigkeitsfehler, auf den ich immer wieder reinfalle.

Bitte nochmal testen.
« Letzte Änderung: 15 Februar 2014, 17:34:59 von betateilchen »
Ich verwende jetzt erstmal diese Version.

Zitat.. Rudi (rudolfkoenig) davon zu überzeugen, das Modul in der geänderten Fassung "offiziell" zu machen.
Und habe auch die Hoffnung das Rudi das jetzt mit macht.  ;)
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 16 Februar 2014, 10:47:46
Hallo betateilchen,
Nach update und restart heute früh: Es macht leider noch nicht was es soll. Der STATE aktualisiert sich nicht und zeigt noch den Wert von gestern Abend. Dafür hat die Sache eine komische Nebenwirkung: der richtige STATE (unformatiert, wie früher) wird jetzt vom CUL_0 als STATE angezeigt. ROFL: das der jetzt im Takt von Temperatur, Wind und Feuchte rumfunkt scheint nicht der Fall zu sein.
Wenn es dir hilft, kann ich eine TeamViewer Session aufmachen.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 16 Februar 2014, 11:01:22
wird nur STATE nicht aktualisiert oder auch das Reading nicht?
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: det. am 16 Februar 2014, 11:04:19
die readings sind aktuell, nur der STATE ist adlig (von Gestern)
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 16 Februar 2014, 11:06:15
ja... das war eigentlich zu erwarten.

Rudi hat auch schon (im richtigen Unterforum ;) ) auf unsere Diskussion hier reagiert.

http://forum.fhem.de/index.php/topic,20281.0.html

Ich werde seine Vorschläge umsetzen und dann eine neue Version bereitstellen.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Franz Tenbrock am 16 Februar 2014, 11:09:49
kurze Zwischenfrage, habe mir das in den command ref durchgelesen, dort stand 868 cul aber geht das ganze auch wenn der Cul mit EM und FS20 Komponenten arbeitet, es gibt ja da verschiedene Protokolle.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: betateilchen am 16 Februar 2014, 12:18:27
Aber alle drei (KS300, EM und FS20) arbeiten mit SlowRF, deshalb funktioniert das.
Titel: Antw:Wettermodule ( zb KS300.pm ... ) erweitern
Beitrag von: Michael am 16 Februar 2014, 18:45:59
Hier gehst weiter http://forum.fhem.de/index.php/topic,20281.15.html (http://forum.fhem.de/index.php/topic,20281.15.html)