WS3600 mit LUX und UV Index möglich?

Begonnen von stefanru, 30 November 2016, 00:47:09

Vorheriges Thema - Nächstes Thema

Josch

#15
Neuer Stand, der UV, Illuminance und Zambretti-Code berücksichtigt, ist eingecheckt.

stefanru

Danke Josch,
Ich teste mal nach meinem Urlaub...

Gruss,
Stefan

SabineT

Zitat von: Josch am 07 Januar 2017, 21:05:54
Windchill gibts ja schon bei den TranslatedCodes, die gefühlte Temperatur ist dann als Differenz zur echten kein Problem mit Userreadings. Für den Zambretti-Code hätte ich 2 Vorschläge: Dein Beispiel sieht für mich so aus, als ob eine Aufteilung auf "Forecast" und "Tendency" sinnvoll wäre. Alternativ könnte man den Forecast in die Gruppe TranslatedDateTimeCodes verschieben. Dann ergäbe sich das von Dir gewünschte Verhalten.

Gruß Jörg
Hallo Jörg!

Tendency sollte auch in die Gruppe TranslatedDateTimeCodes verschoben werden, da hier mehr als 1 Wort vorkommen kann (z.B. "langsam steigend").
Ich hatte das vor 1 Woche bereits hier: https://forum.fhem.de/index.php/topic,70834.msg623389.html#msg623389 vorgeschlagen.

lg, Sabine

SabineT

Übrigens sollte man ws3600.txt dann am Rechner, auf dem das pywws lauft, löschen, nachdem es eingelesen wurde, da sonst die Daten nochmals gelesen werden, falls pywws mal abstürzt oder aus sonst einem Grund keine neuen Daten liefert.

Da bei mir pywws auf einem eigenen Raspi lauft hab ich mir dazu ein shellscript pywws2fhem.sh geschrieben, das ich dann vom fhem aus aufrufe ("ssh pi@wetterpi /home/pi/weather/pywws2fhem.sh"):
#!/bin/sh
cd ~/weather/results
if [ -f ws3600.txt ]
then
  cat ws3600.txt
  rm ws3600.txt
fi




lg,
Sabine

Josch

Hallo Sabine,

da ich die Vorhersage nicht verwende, hätte ich mir den Hinweis zu Tendency von Stefan gewünscht, aber der hat sich nicht mehr gemeldet.
Bau ich bei Gelegenheit mal ein. Wird aber sicher nicht gleich werden. Jetzt haben Garten und Co. die Priorität  ;)

Gruß Jörg

stefanru

Hi Josch,

sorry. War hier auch sehr im Stress und hatte andere Projekte.
Ja das mit tendency habe ich auch so gelöst.
Hatte ich vergessen.

Hi Sabine,

kannst du mir erklären warum man das ws3600.txt löschen soll?
Das habe ich jetzt nicht ganz verstanden.

Danke und Gruß,
Stefan

SabineT

Zitat von: stefanru am 03 Mai 2017, 20:45:28
Hi Sabine,

kannst du mir erklären warum man das ws3600.txt löschen soll?
Das habe ich jetzt nicht ganz verstanden.

Danke und Gruß,
Stefan
weil die gleichen Daten sonst nochmals gelesen werden, falls mal pywws gestoppt ist (ob durch Absturz oder gewollt ist dabei egal). fhem vergleicht da leider nicht, ob sich DTIME geändert hat.

Bei mir schaut das Template übrigens jetzt so aus:
DTime #idx "%d-%h-%Y %H:%M:%S"#

Tendency #pressure_trend "%s" "" "pressure_trend_text(x)"#

Forecast #calc "Zambretti(params, data)" "%s"#

ZCode #calc "ZambrettiCode(params, data)" "%s"#

R1h #rain "%.1f"#

#raw#
Ti #temp_in "%.1f"#

To #temp_out "%.1f"#

DP #calc "dew_point(data['temp_out'], data['hum_out'])" "%.1f"#

WC #calc "apparent_temp(data['temp_out'], data['hum_out'], data['wind_ave'])" "%.1f"#

RHi #hum_in "%d"#

RHo #hum_out "%d"#

DIR #wind_dir "%.0f" "-" "winddir_degrees(x)"#

DIRtext #wind_dir "%s" "-" "winddir_text(x)"#

WS #wind_ave "%.1f"#

WG #wind_gust "%.1f"#

RP #rel_pressure "%.1f"#

Rtot #rain "%0.1f"#

R24h #calc "rain_day(data)" "%.1f"#


Und ins Log schreib ich in der "T:..." Zeile noch zusätzlich die Windrichtung in Grad hinein (hänge die am Ende der Zeile als "WD:" dran), damit ich dann beim Plot die Anzeige der Windrichtung von der Windgeschwindigkeit abhängig machen kann (wird dann nur bei mehr als 0.5m/s ausgegeben, darunter ist die Richtung eh nur ein Zufallswert, speziell, wenn die Windfahne nicht hoch genug über Hindernissen in der Umgebung montiert ist).

lg,
Sabine

stefanru

Hi,

noch eine Frage.
Ich hatte am Anfang viele Probleme mit pywws und Abbrüchen mit meiner 3080.

Mittlerweile habe ich es im Griff obwohl nicht klar ist woran es lag. Laut Jim Entwickler ist das Protokoll der 3080 dafür anfällig.
Glaube mitlerweile eher es liegt an der Spannungsversorgung oder so.

Nun aber zur Frage.
Ich habe in FHEM noch weitere Temperatursensoren über Funk.
Ich steuere meine Heizung mit den Daten der Wetterstation 3080.
Könnte ich einen Ausfall der Station, keine Daten mehr vom pywws erkennen und die Heizungssteuerung auf einen der Funksensoren umleiten?

Im Prinzip wüsste ich wie das geht, aber wie erkenne ich den Ausfall?
Also z.B. am Dtime, aber wie sage ich z.B. in FHEM "wenn Dtime länger als 5 min nicht aktualisiert"?

Oder gibt es eine bessere Lösung?

Danke,
Stefan


stefanru

Ok hab es jetzt kapiert wie du das meinst und konnte nun auch mit doif die Wettersensoren bei ausfall zusammenschalten.

Gruß,
Stefan

bernd_zwo

#24
Erstmal danke an alle hier!

Weil ich in diesem Thread die bislang beste Zusammenfassung unter fhem für PYWWS gefunden habe, packe ich meine Info hier auch mal mit hinein:

Daemons und Services werden ja mittlerweile in Debian Jessie und den Derivaten per systemd gestartet.

@borpin (Brian) hat dazu seine Lösung gebloggt, die auch sehr gut hierher passt: https://tech.borpin.co.uk/2017/03/28/installing-pywws-and-running-it-as-a-daemon/

Dazu ein neues Service-Skript anlegen:

/etc/systemd/system/pywws.service

[Unit]
Description=PYWWS-Livelog daemon
After=syslog.target
After=network.target
Wants=systemd-networkd-wait-online.service

[Service]
Type=simple
User=fhem
Group=dialout
ExecStart=/usr/bin/python /usr/local/bin/pywws-livelog -v -l /opt/fhem/weather/data/livelogger-new.log /opt/fhem/weather/data

Restart=always
RestartSec=90
StartLimitInterval=400
StartLimitBurst=3

# Give the script some time to startup
TimeoutSec=300

[Install]
WantedBy=multi-user.target


"User", "Group" und die Verzeichnisse in "ExecStart" müssen der jeweiligen Installation angepasst werden.
Die Abhängigkeit von networkd und mosquitto (MQTT) aus dem Original von Brian habe ich entfernt, da er es in seinem speziellen Fall für die Kommunikation mit EmonCMS benötigt.

Schön an der systemd-Lösung finde ich, dass der Service automatisch überwacht und neu gestartet wird.

Sollte man vorher einen sysVInit init-daemon ("/etc/init.d") benutzt haben, kann man ihn mit sudo update-rc.d -f pywws remove entfernen

Nach einem reboot kann man dann mit "service pywws start" wie gewohnt den PYWWS-livelogger starten, Meldungen finden sich im syslog.

Gruß, Bernd
Meine Installation: fhem 5.8, Raspi 2 / Raspbian, Busware CUL 868, HM-MOD-UART, HM-CFG-USB-2 (aCulfw V 1.26.04 a-culfw Build: 306), JeeLink V3, fht8v, TX29DTH-IT, HM- (diverse)

Bieberburg

Hi all,
die WS3080 schickt mit dem "Code: 5436790018" die Rohdaten des Strahlungssensors über Funk direkt an den CUL. Das sind die einzigen "unkodierten" Daten, die ich lesen konnte.
Da ich die Strahlungsdaten mit meinem PV-Ertrag vergleichen will, habe ich mir hier ein eigenes Reading gemacht (alle anderen Daten laufen ohnehin langsam, daher über USB).
#DUMMY
define d_Illumination dummy
attr d_Illumination room Sens.TH
define n_Illu notify WS3080:Code:\s54.* \
{my $a=(hex (substr $EVTPART1, -8)/10000);;;; fhem "set d_Illumination $a"}
define FileLog_Illu FileLog ./log/Illu-%Y-%m.log d_Illumination:.*

Die PV-Leistung über JSON-Interface und diese Strahlungsdaten lege ich in einer Grafik übereinander. Damit kann ich zB Schattenbildung oder Schnee am Panel erkennen. Auch der Einfluss der Aussentemperatur ist gut zu sehen.
Viel Spaß

stefanru

Hi,

ich muss mich nun wieder melden.
Bin gerade am suchen nach blocking calls in meinem FHEM.
Einer der alle 120 Sekunden auftritt ist leider das Einlesen der Wetterdaten.
Ich benutze folgendes Skript:

#!/bin/sh
cd ~/weather/results
if [ -f ws3600.txt ]
then
  cat ws3600.txt
  rm ws3600.txt&
fi


Ich rufe es mit:
DEF   "/home/pi/weather/results/result.sh" 120

Die Freezes sehen so aus:

2020.03.05 00:12:02 1: [Freezemon] myFreezemon: possible freeze starting at 00:12:01, delay is 1.479 possibly caused by: tmr-WS3600_Read(meineWetterstation)
2020.03.05 00:14:02 1: [Freezemon] myFreezemon: possible freeze starting at 00:14:01, delay is 1.185 possibly caused by: tmr-WS3600_Read(meineWetterstation)
2020.03.05 00:16:02 1: [Freezemon] myFreezemon: possible freeze starting at 00:16:01, delay is 1.625 possibly caused by: tmr-WS3600_Read(meineWetterstation)


Habt ihr das auch? Gibt es einen Weg das zu verhindern?

Gruß,
Stefan

me

Zitat von: stefanru am 05 März 2020, 11:16:56
Habt ihr das auch? Gibt es einen Weg das zu verhindern?

Habe bei einer WS2300 und fetch2300 teilweise bis hoch 30 sec. Verzögerung und das jede Minute obwohl nur alle 5 Minuten abgefragt werden soll.
Würde mich auch interessieren ob es da einen Weg gibt.