FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: the ratman am 28 April 2016, 13:45:43

Titel: animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 28 April 2016, 13:45:43
da ich langsam meine homematic wetterstation in den griff kriege, frag ich mich grade, ob man eine windrose für (fast)echtzeitdarstellungen mit fhem bordmitteln realisieren könnte.
darin dargestellt müssten 3 werte sein: windSpeed, windDirection und zur richtung noch windDirRange drauf.

ich dachte, man könnte da eventuell was mit einem dummy mit state:knob in der setList machen, hab aber keine ahnung, wie ich dem readings übergeben soll, oder ob das überhaupt möglich ist.
was ich gerne vermeiden würde wäre auf externe mittel zurückgreifen zu müssen. nicht, dass ich da was gefunden hätte bis jetzt *g*.
hat da jemand ideen dazu, oder gibts etwa was fertiges, das ich nach 4 tagen suche immer noch nicht gefunden hab?
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: CQuadrat am 28 April 2016, 14:11:38
Meinst Du soetwas wir hier beschrieben:
https://de.wikipedia.org/wiki/Windrose_(Meteorologie) (https://de.wikipedia.org/wiki/Windrose_(Meteorologie))

Daran bastele ich auch schon länger. Da ich DbLog nutze, hatte ich mir SQL-Abfragen gebasteltet, die die entsprechenden Daten generieren.
Leider habe ich bisher allerdings noch keine Möglichkeit gefunden, das in FHEM ansprechend graphisch aufzubereiten.
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 28 April 2016, 16:36:55
ja, nur kein diagramm, sondern die einfach echtzeit-version.
im endefeckt ne art kompass mit der angabe, wo der wind her kommt und wie "breit" er auftritt (darunter oder mitten drinnen einfach die windgschw. in zahlen. <-- das is eher kein problem *g*)
z.b. sowas http://www.kar.schulnetz.hamm.de/kar/wp-content/uploads/2011/05/Windrose.jpg mit ner richtungsanzeige (ist nur die erstbeste gfx, nix besonderes)

ZitatWetterlexikon - Windrose
Windrose
Diese kreisförmige Windrichtungsskala ist mit einer Grad- oder Stricheinteilung versehen. Meist wird die Windrose in 36 gleiche Stücke geteilt, um neben den acht Hauptwindrichtungen auch die einzelnen Untersektoren wie beispielsweise die Süd-Süd-West-Richtung darzustellen. Oft wird die Windrose mit der Häufigkeit eines bestimmten Klimaelements kombiniert.
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: Wernieman am 28 April 2016, 18:19:02
Hast Du einen Webserver laufen (apache, nigx o.Ä.)?

Dann währe dieses durch php und etwas "script_magie" durchführbar. Ob es direkt in FHEM ??????
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 28 April 2016, 21:44:40
webserver hab ich für smartvisu am laufen, ja.
hast du wo was rumliegen oder nen link?
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: herrmannj am 28 April 2016, 21:48:12
smartVisu kann das doch out-of-the box ?
http://docu.smartvisu.de/2.7/index.php?page=design/design_icons

vg
joerg
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 29 April 2016, 07:42:03
ja und das verwend ich auch, nur das dashboard von fhem kann sowas scheints nicht - zumindest hab ich dort nix gefunden.
ausserdem fehlt bei smartvisu auch die windrange, wobei ich das dort verkraften kann. am dashboard will ich da dann schon was gscheites haben *g*.
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: Wernieman am 29 April 2016, 07:55:09
Du kannst doch in FHEM ein "html-Objekt" einbinden. Wenn Du dann dort auf Deine woanders "gebaute" Windrose verweist ...
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 29 April 2016, 09:36:08
ja, und genau so ne windrose such ich.

bis jetzt is mir da nur eine untergekommen http://wiki.sandaysoft.com/a/SteelSeries_Gauges
das ist aber wieder viel zu viel des guten und wenn ich das richtig seh, bleibt da einiges von denen weg aufzurufen = will ich nicht, ich will lokal bleiben.
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: franky08 am 29 April 2016, 11:49:41
Eine sub, ein notify und ein dummy dann kommt das dabei raus ---> Siehe Screenshot

VG
Frank
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 29 April 2016, 12:24:58
wäre ein schöner anfang - wie gemacht?

die "kompassnadel" hätte ich mir wie im anhang vorgestellt (nur mal so als grundgedanke).
die schwankungsbreite kommt ebenfalls in grad daher und sollte 45° nie übersteigen (sagen zumindest einige websites, ich weiß es nicht wirklich).
dann einfach noch irgendwo die windgeschw. dazu geschrieben und schon hat man was man (oder ich) will *g*.
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: franky08 am 29 April 2016, 17:22:12
Hier die sub, dummy und notify

Zitatsub Windstate()
{
my $wndst = ReadingsVal("myWS1080_dummy","Wind-Dir",0);

    if( $wndst > 0.1 && $wndst < 45 ) {
fhem "set Wind_Symb_dummy 1"
}
    if( $wndst == 45 ) {
fhem "set Wind_Symb_dummy 2"
}
    if( $wndst > 45 && $wndst < 90 ) {
fhem "set Wind_Symb_dummy 3"
}
    if( $wndst == 90 ) {
fhem "set Wind_Symb_dummy 4"
}
    if( $wndst > 90 && $wndst < 135 ) {
fhem "set Wind_Symb_dummy 5"
}
    if( $wndst == 135 ) {
fhem "set Wind_Symb_dummy 6"
}
    if( $wndst > 135 && $wndst < 180 ) {
fhem "set Wind_Symb_dummy 7"
}
    if( $wndst == 180 ) {
fhem "set Wind_Symb_dummy 8"
}
    if( $wndst > 180 && $wndst < 225 ) {
fhem "set Wind_Symb_dummy 9"
}
    if( $wndst == 225 ) {
fhem "set Wind_Symb_dummy a"
}
    if( $wndst > 225 && $wndst < 270 ) {
fhem "set Wind_Symb_dummy b"
}
    if( $wndst == 270 ) {
fhem "set Wind_Symb_dummy c"
}
    if( $wndst > 270 && $wndst < 315 ) {
fhem "set Wind_Symb_dummy d"
}
    if( $wndst == 315 ) {
fhem "set Wind_Symb_dummy e"
}
    if( $wndst > 315 && $wndst < 360 ) {
fhem "set Wind_Symb_dummy f"
}
    if( $wndst == 360 ) {
fhem "set Wind_Symb_dummy g"
}
    if( $wndst == 0 ) {
fhem "set Wind_Symb_dummy h"
}
}

###########################################

#dummy:

define Wind_Symb_dummy dummy
attr Wind_Symb_dummy alias Windrichtung
attr Wind_Symb_dummy devStateIcon 1.*:ws_NNO_kl.png 2.*:ws_NO_kl.png 3.*:ws_ONO_kl.png 4.*:ws_O_kl.png 5.*:ws_OSO_kl.png 6.*:ws_SO_kl.png 7.*:ws_SSO_kl.png 8.*:ws_S_kl.png 9.*:ws_SSW_kl.png a.*:ws_SW_kl.png b.*:ws_WSW_kl.png c.*:ws_W_kl.png d.*:ws_WNW_kl.png e.*:ws_NW_kl.png f.*:ws_NNW_kl.png g.*:ws_N_kl.png h.*:ws_N_kl.png
attr Wind_Symb_dummy event-on-update-reading .*
attr Wind_Symb_dummy room Garten

#notify:

define myWS1080_nty notify myWS1080_dummy.* {if( $EVTPART1 >= 0 && $EVTPART1 <= 360 ) {\ #Filter auf unplausible Werte
Windstate\
}\
}

VG
Frank
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 29 April 2016, 17:52:16
wow - thx!!!!

wäre es vermessen zu fragen, ob du mir noch schnell die grafiken rüberwerfen könntest?
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: franky08 am 29 April 2016, 18:03:53
Die findest du unter /fhem/www/images/default, dort habe ich die, sonst must du das www/images Verzeichnis mal durchsuchen.
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 29 April 2016, 18:18:03
ich werd schon alt und blind *g*

so, dann sag ich nochmal vielen dank für die flotte hilfe, und schau mal, ob meine fhem-kenntnisse (hab ich sowas?) reichen, um mir das anzupassen ...

btw - deinen filter "myWS1080_nty" brauch ich eig. nur, wenn meine wetterstation andere werte als 0-360 liefern würde. hab ich das richtig verstanden?
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: franky08 am 29 April 2016, 18:41:05
Zitatbtw - deinen filter "myWS1080_nty" brauch ich eig. nur, wenn meine wetterstation andere werte als 0-360 liefern würde. hab ich das richtig verstanden?

Ja, meine Wetterstation liefert manchmal unsinnige Werte (schlechter Empfang, Störungen) aber den notify brauchst du, der triggert die sub, einfach den "Filter Teil" weglassen.

VG
Frank
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 29 April 2016, 19:12:05
wow, ich hab richtig gedacht - is ne neuheit bei mir und fhem *g*
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 30 April 2016, 12:49:41
so, jetzt hab ich meine erste ganz eigene lösung - gut, fleißig abgeschrieben von dir *g* - dafür so, dass ich mir selber helfen kann in nur einer einzigen readingsgroup.

noch weiß ich nicht, obs wirklich 100% rennt, aber schaun ma mal:
Internals:
   CFGFN
   DEF        Wetterstation:windDirection
   NAME       rg_Windrose
     valueFormat {
return "1" if( $VALUE > 0.1 && $VALUE < 45 );
return "2" if( $VALUE == 45 );
return "3" if( $VALUE > 45 && $VALUE < 90 );
return "4" if( $VALUE == 90 );
return "5" if( $VALUE > 90 && $VALUE < 135 );
return "6" if( $VALUE == 135 );
return "7" if( $VALUE > 135 && $VALUE < 180 );
return "8" if( $VALUE == 180 );
return "9" if( $VALUE > 180 && $VALUE < 225 );
return "a" if( $VALUE == 225 );
return "b" if( $VALUE > 225 && $VALUE < 270 );
return "c" if( $VALUE == 270 );
return "d" if( $VALUE > 270 && $VALUE < 315 );
return "e" if( $VALUE == 315 );
return "f" if( $VALUE > 315 && $VALUE < 360 );
return "g" if( $VALUE == 360 );
return "h" if( $VALUE == 0 );
}
     Positions:
       Wetterstation.windDirection 1:1
     Valueicon:
       windDirection.1 ws_NNO_kl.png
       windDirection.2 ws_NO_kl.png
       windDirection.3 ws_ONO_kl.png
       windDirection.4 ws_O_kl.png
       windDirection.5 ws_OSO_kl.png
       windDirection.6 ws_SO_kl.png
       windDirection.7 ws_SSO_kl.png
       windDirection.8 ws_S_kl.png
       windDirection.9 ws_SSW_kl.png
       windDirection.a ws_SW_kl.png
       windDirection.b ws_WSW_kl.png
       windDirection.c ws_W_kl.png4
       windDirection.d ws_WNW_kl.png
       windDirection.e ws_NW_kl.png
       windDirection.f ws_NNW_kl.png
       windDirection.g ws_N_kl.png
       windDirection.h ws_N_kl.png
Attributes:
   nonames    1
   notime     1
   room       Testgeräte
   valueFormat {
return "1" if( $VALUE > 0.1 && $VALUE < 45 );
return "2" if( $VALUE == 45 );
return "3" if( $VALUE > 45 && $VALUE < 90 );
return "4" if( $VALUE == 90 );
return "5" if( $VALUE > 90 && $VALUE < 135 );
return "6" if( $VALUE == 135 );
return "7" if( $VALUE > 135 && $VALUE < 180 );
return "8" if( $VALUE == 180 );
return "9" if( $VALUE > 180 && $VALUE < 225 );
return "a" if( $VALUE == 225 );
return "b" if( $VALUE > 225 && $VALUE < 270 );
return "c" if( $VALUE == 270 );
return "d" if( $VALUE > 270 && $VALUE < 315 );
return "e" if( $VALUE == 315 );
return "f" if( $VALUE > 315 && $VALUE < 360 );
return "g" if( $VALUE == 360 );
return "h" if( $VALUE == 0 );
}
   valueIcon  {
'windDirection.1'=>'ws_NNO_kl.png',
'windDirection.2'=>'ws_NO_kl.png',
'windDirection.3'=>'ws_ONO_kl.png',
'windDirection.4'=>'ws_O_kl.png',
'windDirection.5'=>'ws_OSO_kl.png',
'windDirection.6'=>'ws_SO_kl.png',
'windDirection.7'=>'ws_SSO_kl.png',
'windDirection.8'=>'ws_S_kl.png',
'windDirection.9'=>'ws_SSW_kl.png',
'windDirection.a'=>'ws_SW_kl.png',
'windDirection.b'=>'ws_WSW_kl.png',
'windDirection.c'=>'ws_W_kl.png4',
'windDirection.d'=>'ws_WNW_kl.png',
'windDirection.e'=>'ws_NW_kl.png',
'windDirection.f'=>'ws_NNW_kl.png',
'windDirection.g'=>'ws_N_kl.png',
'windDirection.h'=>'ws_N_kl.png'
}
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: dieter114 am 23 Januar 2017, 22:29:41
Hallo Ratman,

kann es sein das in der Definition noch ein kleiner "Denkfehler" ist?
Z.B. die Pos 45 = 2 wird nur ausgegeben wenn es genau 45 Grad sind.
Diesen Wert wird es in der Realität nie geben.
Also wird immer dann die Pos 1 oder 3 ausgegeben.

Gruß Wolfdieter
Titel: Antw:animierte windrose mit bordmittel möglich?
Beitrag von: the ratman am 24 Januar 2017, 10:43:40
jo, wird so sein ... hab ich ja nur kopiert damals *g*