Wolkenuntergrenze berechnen

Begonnen von Michael, 24 Juli 2013, 20:01:26

Vorheriges Thema - Nächstes Thema

Michael

Moin

Auf Gund dieser Entwicklung (Link)
bin ich mal auf die suche im Netz gegangen.

Und folgendes Gefunden : http://www.cika.de/wetterlexikon/63-was-ist-die-wolkenuntergrenze.html

Und würde es gern bei mir in Fhem einbauen, aber ich bin nicht fit in Perl und Fhem.

Könnt Ihr das mal Ansehen und mir Helfen ?

99_myUtils.pm
##############################################
# $Id: 99_myUtils.pm

package main;

use strict;
use warnings;
use POSIX;


#############################################
# Berechnung der Wolkenuntergrenze nach der Henning'schen Faustformel
# Quelle : http://www.cika.de/wetterlexikon/63-was-ist-die-wolkenuntergrenze.html
#

sub clouds_lower_limit($)
{
  $adewpoint = Hier muß der Messuwert hin, nur wie?;
  $atemp = Hier muß der Messuwert hin, nur wie?;
  $diffC = $atemp - $adewpoint0;
 
  $cloud_h = $diffC*122;

  return $cloud_h
}
###########################################

1;


Fhem.cfg
define test_cll_at at +*00:03:00 trigger test_n

define test_n notify test {\
{clouds_lower_limit}\


Achso der Messwerte kommen von einer KS300 Stadion und Willi 's
dewpoint Berechnung.

Könnt Ihr mir Helfen ?

Gruß, Michael

P.s. Ich kommt schon auf seltsam Gedanken ;-))
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

justme1968

das geht doch noch einfach über ein user reading...

einfach das mit hier per telnet oder in die web kommandobox eingeben:
attr s300ht_1 userReadings cloudBase {(ReadingsVal("s300ht_1","temperature", 0)-ReadingsVal("s300ht_1","dewpoint",0))*122}s300ht_1 ist dein device in dem die temperature und dewpoint readings sind.

als ergebnis hast du ein neues reading cloudeBase in deinem device.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Michael

Hi Andre

Leider bekomme ich da kein Wert zurück.

Zitateinfach das mit hier per telnet oder in die web kommandobox eingeben:
Habe ich über die web kommandobox gemacht.


Das sagt der Eventmonitor dazu :
2013-07-25 11:40:44 KS300 Wittingen T: 25.7 H: 63 W: 0.0 R: 577.3 IR: no D: 18.1
2013-07-25 11:40:44 KS300 Wittingen rain: 577.3
2013-07-25 11:40:44 KS300 Wittingen wind: 0.0
2013-07-25 11:40:44 KS300 Wittingen humidity: 63
2013-07-25 11:40:44 KS300 Wittingen temperature: 25.7
2013-07-25 11:40:44 KS300 Wittingen israining: no
2013-07-25 11:40:44 KS300 Wittingen dewpoint: 18.1

Das sind die Device Einträge :

(siehe Anhang / see attachement)


(siehe Anhang / see attachement)


(siehe Anhang / see attachement)


???

Gruß, Michael
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

justme1968

du hattest bei der eingabe ein 'attr Wittignen userReadings' zu viel.

es muss so aussehen:

(siehe Anhang / see attachement)


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Michael

Hi Andre

Erst mal vielen Danke für deine Antworten und die Geduld.

Aber leider bekomme ich immer noch kein Wert in den Readings angezeigt.

Ist das setzen des Attributes im KS300 überhaupt möglich?

Gruß, Michael
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

justme1968

wenn es ein temperature und ein dewpoint reading gibt sollte es gehen.

zeig bitte noch mal deine userReadings zeile. entweder als screenshot oder als list auf das device.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

muss das userReadings nicht noch unter

Zitatattr global userattr

mit aufgenommen werden?

Dann sollte es aber im fhem-log eine entsprechende Fehlermeldung geben bzw. beim eingeben der Zeile müsste schon eine solche
aufgetaucht sein.

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.

justme1968

ich hab gerade im code nachgeschaut. du hast leider recht. das KS300 modul kann reine readingFnAttributes. schade.

du musst es doch von hand machen. die beiden werte die du brauchst bekommst du jeweils mit ReadingsVal

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Michael

Dank euch beiden.

@Puschel74
Leider hilft der Eintrag zusätzlich unter attr global userattr auch nicht weiter.

@all
Kann mir den jemand dabei Helfen.
Und was muss in die Fhem.cfg

##############################################
# $Id: 99_myUtils.pm

package main;

use strict;
use warnings;
use POSIX;


#############################################
# Berechnung der Wolkenuntergrenze nach der Henning'schen Faustformel
# Quelle : http://www.cika.de/wetterlexikon/63-was-ist-die-wolkenuntergrenze.html
#

sub cloudBase($)
{
  $adewpoint = ReadingsVal("Wittingen","dewpoint",0);
  $atemp = ReadingsVal("Wittingen","temperature",0);
  $diffC = $atemp - $adewpoint0;
 
  $cloud_h = $diffC*122;

  return $cloud_h
}
###########################################

1;

Ist das richtig?

Gruß, Michael
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

keiner da mir zu Helfen?
Bzw auf den richtigen weg zubringen.

Verstehe ich bei diesen Wetter
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

Hallo Michael,

was funtioniert denn genau nicht? Die Berechnung in der 99_myUtils sollte grundsätzlich funktionieren. Aber die 99_myUtils ist in ihrer Struktur noch unvollständig.

probier mal so:


package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

#############################################
# Berechnung der Wolkenuntergrenze nach der Henning'schen Faustformel
# Quelle : http://www.cika.de/wetterlexikon/63-was-ist-die-wolkenuntergrenze.html
#

sub cloudBase()
{
  $adewpoint = ReadingsVal("Wittingen","dewpoint",0);
  $atemp = ReadingsVal("Wittingen","temperature",0);
  $diffC = $atemp - $adewpoint0;
 
  $cloud_h = $diffC*122;

  return $cloud_h;
}
###########################################

1;


Danach solltest du mit { cloudBase } in der fhem Kommandozeile ein Ergebnis bekommen.

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

Michael

Hallo Udo

Dank dir für deine Hilfe.
Hat mich ein Stück weiter gebracht.

So, musste die "my" noch davor setzen.
Und mit { cloudBase } über die Kommandzeile bekommen ich ein Wert.

Wo (dummy,notify,???) in Fhem kann ich den Wert eintragen.

##############################################
# $Id: 99_myUtils.pm

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

#############################################
# Berechnung der Wolkenuntergrenze nach der Henning'schen Faustformel
# Quelle : http://www.cika.de/wetterlexikon/63-was-ist-die-wolkenuntergrenze.html
#

sub cloudBase()
{
  my $adewpoint = ReadingsVal("Wittingen","dewpoint",0);
  my $atemp = ReadingsVal("Wittingen","temperature",0);
  my $diffC = $atemp - $adewpoint;
 
  my $cloud_h = $diffC*122;

     $cloud_h = sprintf("%.0f", $cloud_h);

  return $cloud_h;
}
###########################################

1;


Gruß, Michael
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

Kommt drauf an, was willst Du denn mit dem Wert anfangen?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Michael

Hi

Ich möchte Ihn erstmal in eine Log schreiben lassen und dann einen Plot erstellen.

Denn mehr kann man da damit Wahrscheinlich nicht anfangen.

Gruß, Michael
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

justme1968

du kannst es z.b. aus einem at regelmäßig als reading in dein device schreiben und dann ganz normal wie jedes reading loggen.

{ my $hash =  $defs{Wittingen};
  readingsSingleUpdate($hash,"cloudBase", cloudBase(), 1) if( defined($hash) );}

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968