Hallo Leute,
ich lese bei mir die Windgeschwindigkeit über EIB ein und sie ist wie folgt definiert:
define wetterstation.windgeschwindigkeit EIB 1/0/0
attr wetterstation.windgeschwindigkeit model speedsensor
...
Das gibt mir korrekt die Windgeschwindigkeit in m/s aus.
Jetzt möchte ich sie aber gerne in km/h haben.
Kann ich irgendwie ein Device definieren, dass das macht?
Wie geht man da am besten vor?
Vielen lieben Dank im Voraus.
Liebe Grüße
Oli
schau dir das userReadings attribut an. damit kannst du aus einem vorhanden reading zusätzliche ableiten und anlegen.
gruss
andre
Wert in m/s * 3,6 = Wert in km/h
Da brauchst Du doch kein extra device dafür, das kannst Du simplest mit stateFormat lösen.
Ich vermute so...
attr wetterstation.windgeschwindigkeit userReadings name { ReadingsVal("device","reading*3,6",0) ;;}
Beispielsweise so:
(http://up.picr.de/19886545wf.png)
Statt eines Dummy machst Du das natürlich direkt in und mit Deinem echten Device.
@betateilchen: so macht das readingsval mehr Sinn... :)
die stateFormat variante kannst du aber nur verwenden wenn du die werte nicht loggen willst.
Du solltest Dich schon genauer ausdrücken: Nur die errechneten km/h Werte werden nicht geloggt, die m/s sehr wohl. Und zum Plotten kann man immer noch mit einer Funktion im SVG arbeiten.
deine antwort war vollständiger und wenn da jetzt noch stehen würde das die funktion in den gplot file/editor gehört wäre sie fast perfekt.
Zitat von: justme1968 am 22 Oktober 2014, 10:51:56
wenn da jetzt noch stehen würde das die funktion in den gplot file/editor gehört wäre sie fast perfekt.
steht doch da:
Zitat von: betateilchen am 21 Oktober 2014, 23:01:07
Und zum Plotten kann man immer noch mit einer Funktion im SVG arbeiten.
Wo landet man denn, wenn man sich ein SVG Device in der Detailansicht aufruft? Normalerweise im Plot-Editor...
Hallo betateilchen,
Danke für die Antworten.
Leider geht stateFormat nicht:
wetterstation.windgeschwindigkeit: unknown attribute stateFormat. Type 'attr wetterstation.windgeschwindigkeit ?' for a detailed list.
Mögliche Attribute sind:
wetterstation.windgeschwindigkeit: unknown attribute ?, choose one of verbose:0,1,2,3,4,5 room group comment alias eventMap userReadings IODev do_not_notify:1,0 ignore:0,1 dummy:1,0 showtime:1,0 loglevel:0,1,2,3,4,5,6 model:percent255,time,timeperiod-min,dpt7,dpt5,length-mm,humiditysensor,dpt5.003,time1sensor,timeperiod-h,airqualitysensor,lightsensor,date,dpt9,dpt12,timeperiod-ms,dpt10,speedsensor,pressuresensor,percent,current-mA,tempsensor,time2sensor,dpt5.004,dpt14,speedsensor-km/h,voltage-mV,powerdensity,power,current-mA2,dpt11,brightness,rainsensor,angle EIB EIB_map Rollo Rollo_map devStateIcon devStateStyle icon lamp lamp_map room_map sortby structexclude webCmd widgetOverride userattr
Kann das sein, weil es ein EIB-Wert ist?
Gruß
Oli
entweder den modul autor bitten das attribut frei zu schalten, oder im modul global das attribut "userattr" um das attribut "stateFormat" erweitern.
gruss frank
Vielleicht jetzt etwas off-topic: Aber wenn ich das hier so verfolge, fällt mir
http://www.spiegel.de/schulspiegel/lehrergestaendnisse-schueler-brauchen-spaeter-kaum-physik-wissen-a-995098.html (http://www.spiegel.de/schulspiegel/lehrergestaendnisse-schueler-brauchen-spaeter-kaum-physik-wissen-a-995098.html)
ein. Selten so einen Schwachsinn gelesen. >:( Da kriege ich echt das Kotzen; und das von einem Physikleehrer.
Sorry, das musste ich mal hier loswerden. :'(
Ich habe eine Bresser 5.1 (WLAN)Wetterstation, die ich mit
https://api.weather.com/v2/pws/observations/current?stationId=IFRANK257&numericPrecision=decimal&format=json&units=m&apiKey="mein API-Code"/code]
Wie im Forum mittlerweile bekannt, liefert die Station die Windgeschwindigkeit in m/s. Ich will aber die Anzeige in km/h.
Ich habe die Anzeige im stateFormat wie folgt geschrieben, was auch funktioniert:
[code]stateFormat
{ReadingsTimestamp('Bresser5.1',' temp','')." Temperatur: ".ReadingsVal('Bresser5.1','observations_01_metric_temp','')." °C Luftfeuchtigkeit: ".ReadingsVal('Bresser5.1','observations_01_humidity','')."% Wind: " .ReadingsVal('Bresser5.1','observations_01_metric_windSpeed', '')*3.6." km/h"}
das funktioniert
aber nun möchte ich noch das gesamte device darstellen, derzeit mit
Bresser5.1:<%clock>,<Datum_Uhrzeit:>,observations_01_obs_Time_Local Bresser5.1:<%temp_temperature>,<Temperatur:>,observations_01_metric_temp Bresser5.1:<%temp_temperature>,<gefühlt:>,observations_01_metric_windChill Bresser5.1:<%weather_wind_speed>,<Wind:>,observations_01_metric_windSpeed Bresser5.1:<%weather_wind_speed>,<Windspitze:>,observations_01_metric_windGust Bresser5.1:<%weather_humidity>,<Luftfeuchtigkeit:>,observations_01_humidity Bresser5.1:<%weather_barometric_pressure>,<Luftdruck:>,observations_01_metric_pressure Bresser5.1:<%weather_rain_gauge>,<Niederschlag_aktuell:>,observations_01_metric_precipRate
Windspeed und WindGust werden aber als Wert Meter pro Sekunde angezeigt, ich bin Anfänger und weiss nicht, wie ich die Umrechnung (*mal 3.6) in die definition reinbringe
Helft mir