Ein virtueller Regensensor mit wetter.com und HTTPMOD

Begonnen von Tri, 17 August 2021, 15:54:09

Vorheriges Thema - Nächstes Thema

Tri

Hier soll eine Möglichkeit eines Regensensors vorgestellt werden, der warnt, bevor es regnet.

Wenn eine Markise montiert ist, soll unbedingt vermieden werden, das diese nass wird. Wird ein konventioneller Regensensor montiert, um diese Aufgabe zu übernehmen, hat die Markise schon Regen abbekommen, bevor sie eingefahren wird. Das kann Stockflecken verursachen.

Die Idee ist es, den ,,Regenradar" eines Wetterdienstes zu nutzen und das graphische Regenbild auszuwerten. Diese Aufgabe ist aber schon auf wetter.com erledigt. Dort gibt es schon die Rubrik ,,Niederschläge der nächsten 2 Stunden" auf der Wettervorhersage. Es muss also nur noch diese Vorhersage abgefragt werden. Dazu ist das Modul ,,HTTPMOD" bestens geeignet. Die Daten werden alle 5 Minuten aufgefrischt. Also sollte auch maximal alle 5 Minuten abgefragt werden, das sind 300 Sekunden.

Die Farben der Felder haben folgende Bedeutung:


RegenRegenSchneefallSchneefall
theoretischrealtheoretischrealText wetter.comAnzeigetext
#a6caf0#bfd4ff#fce4ec1)bis 0.4 l/m² pro Stunde kein oder nur geringer Regen bzw. Schneefall< 0.4 l/m²/h
#6699ffpasst#f9bad01)bis 1.9 l/m² pro Stunde leichter bis mäßiger Regen bzw. Schneefall< 1.9 l/m²/h
#004ce5passt#f68db11)bis 8.1 l/m² pro Stunde mäßiger Regen bzw. mäßiger bis starker Schneefall< 8.1 l/m²/h
#002673passt#f25f911)bis 35 l/m² pro Stunde mäßiger bis starker Regen (Gewitter möglich) bzw. sehr starker Schneefall< 35 l/m²/h
#ffa800passt 2)#ee3c791)bis 150 l/m² pro Stunde starker Regen (Graupel, Hagel oder Gewitter wahrscheinlich)< 150 l/m²/h
#e600001)#eb15611)> 150 l/m² pro Stunde heftiger Regen (Hagel und Gewitter wahrscheinlich)> 150 l/m²/h
1) noch nicht ermittelt. Bei einem weißen unbesetztem Feld steht ,,#fff", 2) am 18.08.2021 nachgetragen

Es sind drei Anzeigefelder mit ,,jetzt" beschriftet. Die Uhrzeit für das vierte Feld wird in dem Reading ,,time_04" abgelegt. Die restlichen Uhrzeiten ergeben sich, da jedes Feld für eine Zeitspanne von 5 Minuten steht. Bei zwei Stunden sind das 24 Felder. Die Anzeigefenster werden in den Readings ,,feld-01" bis ,,feld-24" abgelegt. Übersetzt von den Farbcodes zu der Regenmenge wird es mit ,,reading08OMap ...".

Damit die Anzeige schöner ist, habe ich die Namen der Felder 1 bis 9 wie ,,feld-1" in ,,feld-01" mit ,,attr wetter_com_gifhorn reading08-1Name feld-01" usw. umbenannt. Damit werden sie bei der Anzeige in der richtigen Reihenfolge dargestellt.

Das Hauptergebnis steht in dem Reading ,,Status" und enthält die Auswertung für die ersten sieben Felder. Das kann individuell nach Bedarf angepasst werden.

Das Reading ,,Status2h" enthält die Auswertung über die zwei Stunden.

Der Beschreibungstext steht in dem Reading ,,regen" drin.

,,Status2h_old" und ,,Status_old" sind Flankenmerker für die Auswertung über notify. Damit wird sichergestellt, dass die Meldungen und das Einfahren der Markise nur bei einer positiven Flanke getriggert wird.

Hier das Beispiel für Gifhorn mit ,,Raw definition" kopiert: (Das Beispiel sollte bei Bedarf also auch in ,,Raw FHEM-code input" kopiert werden.)

defmod wetter_com_gifhorn HTTPMOD https://www.wetter.com/deutschland/gifhorn/DE0003428.html 300
attr wetter_com_gifhorn DbLogExclude .*
attr wetter_com_gifhorn DbLogInclude Status,Status2h,regen,date,time_04,feld-\d*
attr wetter_com_gifhorn reading01Name regen
attr wetter_com_gifhorn reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr wetter_com_gifhorn reading02Name date
attr wetter_com_gifhorn reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\>
attr wetter_com_gifhorn reading08-1Name feld-01
attr wetter_com_gifhorn reading08-25Name time_04
attr wetter_com_gifhorn reading08-2Name feld-02
attr wetter_com_gifhorn reading08-3Name feld-03
attr wetter_com_gifhorn reading08-4Name feld-04
attr wetter_com_gifhorn reading08-5Name feld-05
attr wetter_com_gifhorn reading08-6Name feld-06
attr wetter_com_gifhorn reading08-7Name feld-07
attr wetter_com_gifhorn reading08-8Name feld-08
attr wetter_com_gifhorn reading08-9Name feld-09
attr wetter_com_gifhorn reading08Name feld
attr wetter_com_gifhorn reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr wetter_com_gifhorn reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*</tr>\W*<tr>\W*<td.colspan=\"2\".*Jetzt\W*</td>\W*<td colspan="2".*>(.*)</td>
attr wetter_com_gifhorn room KLF200Node
attr wetter_com_gifhorn stateFormat date time_04 Regen aktuell: Status Regen 2h: Status2h Text: regen <html>website: <a target= "_blank" href="https://www.wetter.com/deutschland/gifhorn/DE0003428.html">wetter.com</a></html>
attr wetter_com_gifhorn userReadings Status:feld-01.* {\
  0 + \
  (ReadingsVal("wetter_com_gifhorn","feld-01",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-02",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-03",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-04",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-05",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-06",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-07",0) ne 0 );;;; },\
Status2h:regen.* {\
  0 + ( ReadingsVal("wetter_com_gifhorn","regen",0) ne "Kein Niederschlag in Sicht" );;;; },\
Status_old,\
Status2h_old\


Das dazu passende notify, um Meldungen auszugeben und die Markise einzufahren:
Anmerkung: ,,somfy_0" ist die Markise. ,,pct" ist die Position. Position ,,100" ist eingefahren. Der Befehl und die Meldung wird also nur ausgegeben, wenn die Markise ausgefahren ist und der Zustand der Regenmeldung neu rein kommt. Wird die Markise bei angekündigtem Regen raus gefahren, bleibt sie gewollt draußen. Die Meldung wird in diesem Beispiel über Telegram ausgegeben, da WhatsApp nicht funktioniert. Wenn kein Telegram-Bot definiert ist, müssen diese Zeilen gelöscht werden. Wenn ein Telegram-Bot vorhanden ist, muss der Name des Bot und die Nummer angepasst werden. Der Fahrbefehl für die Markise muss natürlich auch angepasst werden. Der zweite Block mit "Regen jetzt: ..." ist hauptsächlich für die Inbetriebnahme und kann entweder deaktiviert oder gelöscht werden. Genauso könnte jede Änderung des Readings von ,,regen" gesendet werden.

defmod wetter_com_gifhorn_notify_1 notify wetter_com_gifhorn:Status:.* { \
if( ReadingsVal("somfy_0","pct","---") ne 100 && ReadingsVal("wetter_com_gifhorn","Status","---") eq 1 && ReadingsVal("wetter_com_gifhorn","Status_old","---") eq 0) {\
   fhem("set Bot message \@123456789 Markise wird aufgrund einer Regenwarnung eingefahren.\n".\
   "Alte Position: ".ReadingsVal("somfy_0","pct","---"));;\
   fhem("set somfy_0 pct 100");;\
};;\
if( (ReadingsVal("wetter_com_gifhorn","Status","---") eq 1 && ReadingsVal("wetter_com_gifhorn","Status_old","---") eq 0) ||\
    (ReadingsVal("wetter_com_gifhorn","Status2h","---") eq 1 && ReadingsVal("wetter_com_gifhorn","Status2h_old","---") eq 0) ) {\
fhem("set Bot message \@123456789 Regenwarnung wetter.com:\n".\
ReadingsVal("wetter_com_gifhorn","date","---")."\n".\
ReadingsVal("wetter_com_gifhorn","regen","---")."\n".\
"Regen jetzt: ".ReadingsVal("wetter_com_gifhorn","Status","---")."\n".\
"Regen innerhalb 2h: ".ReadingsVal("wetter_com_gifhorn","Status2h","---")."\n".\
"-15 min. ".ReadingsVal("wetter_com_gifhorn","feld-01","---")."\n".\
"-10 min. ".ReadingsVal("wetter_com_gifhorn","feld-02","---")."\n".\
"-5 min. ".ReadingsVal("wetter_com_gifhorn","feld-03","---")."\n".\
ReadingsVal("wetter_com_gifhorn","time_04","---")." ".ReadingsVal("wetter_com_gifhorn","feld-04","---")."\n".\
"+5 min. ".ReadingsVal("wetter_com_gifhorn","feld-05","---")."\n".\
"+10 min. ".ReadingsVal("wetter_com_gifhorn","feld-06","---")."\n".\
"+15 min. ".ReadingsVal("wetter_com_gifhorn","feld-07","---")."\n".\
"+20 min. ".ReadingsVal("wetter_com_gifhorn","feld-08","---")."\n".\
"+25 min. ".ReadingsVal("wetter_com_gifhorn","feld-09","---")."\n".\
"+30 min. ".ReadingsVal("wetter_com_gifhorn","feld-10","---")."\n".\
"+35 min. ".ReadingsVal("wetter_com_gifhorn","feld-11","---")."\n".\
"+40 min. ".ReadingsVal("wetter_com_gifhorn","feld-12","---")."\n".\
"+45 min. ".ReadingsVal("wetter_com_gifhorn","feld-13","---")."\n".\
"+50 min. ".ReadingsVal("wetter_com_gifhorn","feld-14","---")."\n".\
"+55 min. ".ReadingsVal("wetter_com_gifhorn","feld-15","---")."\n".\
"+60 min. ".ReadingsVal("wetter_com_gifhorn","feld-16","---")."\n".\
"+65 min. ".ReadingsVal("wetter_com_gifhorn","feld-17","---")."\n".\
"+70 min. ".ReadingsVal("wetter_com_gifhorn","feld-18","---")."\n".\
"+75 min. ".ReadingsVal("wetter_com_gifhorn","feld-19","---")."\n".\
"+80 min. ".ReadingsVal("wetter_com_gifhorn","feld-20","---")."\n".\
"+85 min. ".ReadingsVal("wetter_com_gifhorn","feld-21","---")."\n".\
"+90 min. ".ReadingsVal("wetter_com_gifhorn","feld-22","---")."\n".\
"+95 min. ".ReadingsVal("wetter_com_gifhorn","feld-23","---")."\n".\
"+100 min. ".ReadingsVal("wetter_com_gifhorn","feld-24","---"));;\
};;\
fhem("setreading wetter_com_gifhorn Status_old ".ReadingsVal("wetter_com_gifhorn","Status","---"));;\
fhem("setreading wetter_com_gifhorn Status2h_old ".ReadingsVal("wetter_com_gifhorn","Status2h","---"));;\
}
attr wetter_com_gifhorn_notify_1 DbLogExclude .*
attr wetter_com_gifhorn_notify_1 room KLF200Node


Um die Inbetriebnahme zu erleichtern, werden alle Readings in die Datenbank geschrieben. Wenn alles läuft, könnte dies auch deaktiviert werden um Platz in der Datenbank zu sparen. Für eine geordnete Ausgabe über SQL für den aktuellen Tag kann folgende Abfrage genutzt werden:

SELECT t1.`TIMESTAMP` AS Zeit, t1.VALUE AS 'Status', t2.VALUE AS 'Status2h', t3.VALUE AS 'date', t4.VALUE AS 'regen',
t5.VALUE AS 'feld-01', t6.VALUE AS 'feld-02', t7.VALUE AS 'feld-03', t8.VALUE AS 'time_04', t9.VALUE AS 'feld-04', t10.VALUE AS 'feld-05', t11.VALUE AS 'feld-06',
t12.VALUE AS 'feld-07', t13.VALUE AS 'feld-08', t14.VALUE AS 'feld-09', t15.VALUE AS 'feld-10', t16.VALUE AS 'feld-11', t17.VALUE AS 'feld-12', t18.VALUE AS 'feld-13',
t19.VALUE AS 'feld-14', t20.VALUE AS 'feld-15', t21.VALUE AS 'feld-16', t22.VALUE AS 'feld-17', t23.VALUE AS 'feld-18', t24.VALUE AS 'feld-19', t25.VALUE AS 'feld-20',
t26.VALUE AS 'feld-21', t27.VALUE AS 'feld-22', t28.VALUE AS 'feld-23', t29.VALUE AS 'feld-24'
FROM history AS t1
LEFT JOIN history AS t2 ON t1.`TIMESTAMP` = t2.`TIMESTAMP` AND t1.DEVICE = t2.DEVICE AND t1.TYPE = t2.TYPE AND t2.DEVICE = 'wetter_com_gifhorn' AND t2.READING = 'Status2h'
LEFT JOIN history AS t3 ON t1.`TIMESTAMP` = t3.`TIMESTAMP` AND t1.DEVICE = t3.DEVICE AND t1.TYPE = t3.TYPE AND t3.DEVICE = 'wetter_com_gifhorn' AND t3.READING = 'date'
LEFT JOIN history AS t4 ON t1.`TIMESTAMP` = t4.`TIMESTAMP` AND t1.DEVICE = t4.DEVICE AND t1.TYPE = t4.TYPE AND t4.DEVICE = 'wetter_com_gifhorn' AND t4.READING = 'regen'
LEFT JOIN history AS t5 ON t1.`TIMESTAMP` = t5.`TIMESTAMP` AND t1.DEVICE = t5.DEVICE AND t1.TYPE = t5.TYPE AND t5.DEVICE = 'wetter_com_gifhorn' AND t5.READING = 'feld-01'
LEFT JOIN history AS t6 ON t1.`TIMESTAMP` = t6.`TIMESTAMP` AND t1.DEVICE = t6.DEVICE AND t1.TYPE = t6.TYPE AND t6.DEVICE = 'wetter_com_gifhorn' AND t6.READING = 'feld-02'
LEFT JOIN history AS t7 ON t1.`TIMESTAMP` = t7.`TIMESTAMP` AND t1.DEVICE = t7.DEVICE AND t1.TYPE = t7.TYPE AND t7.DEVICE = 'wetter_com_gifhorn' AND t7.READING = 'feld-03'
LEFT JOIN history AS t8 ON t1.`TIMESTAMP` = t8.`TIMESTAMP` AND t1.DEVICE = t8.DEVICE AND t1.TYPE = t8.TYPE AND t8.DEVICE = 'wetter_com_gifhorn' AND t8.READING = 'time_04'
LEFT JOIN history AS t9 ON t1.`TIMESTAMP` = t9.`TIMESTAMP` AND t1.DEVICE = t9.DEVICE AND t1.TYPE = t9.TYPE AND t9.DEVICE = 'wetter_com_gifhorn' AND t9.READING = 'feld-04'
LEFT JOIN history AS t10 ON t1.`TIMESTAMP` = t10.`TIMESTAMP` AND t1.DEVICE = t10.DEVICE AND t1.TYPE = t10.TYPE AND t10.DEVICE = 'wetter_com_gifhorn' AND t10.READING = 'feld-05'
LEFT JOIN history AS t11 ON t1.`TIMESTAMP` = t11.`TIMESTAMP` AND t1.DEVICE = t11.DEVICE AND t1.TYPE = t11.TYPE AND t11.DEVICE = 'wetter_com_gifhorn' AND t11.READING = 'feld-06'
LEFT JOIN history AS t12 ON t1.`TIMESTAMP` = t12.`TIMESTAMP` AND t1.DEVICE = t12.DEVICE AND t1.TYPE = t12.TYPE AND t12.DEVICE = 'wetter_com_gifhorn' AND t12.READING = 'feld-07'
LEFT JOIN history AS t13 ON t1.`TIMESTAMP` = t13.`TIMESTAMP` AND t1.DEVICE = t13.DEVICE AND t1.TYPE = t13.TYPE AND t13.DEVICE = 'wetter_com_gifhorn' AND t13.READING = 'feld-08'
LEFT JOIN history AS t14 ON t1.`TIMESTAMP` = t14.`TIMESTAMP` AND t1.DEVICE = t14.DEVICE AND t1.TYPE = t14.TYPE AND t14.DEVICE = 'wetter_com_gifhorn' AND t14.READING = 'feld-09'
LEFT JOIN history AS t15 ON t1.`TIMESTAMP` = t15.`TIMESTAMP` AND t1.DEVICE = t15.DEVICE AND t1.TYPE = t15.TYPE AND t15.DEVICE = 'wetter_com_gifhorn' AND t15.READING = 'feld-10'
LEFT JOIN history AS t16 ON t1.`TIMESTAMP` = t16.`TIMESTAMP` AND t1.DEVICE = t16.DEVICE AND t1.TYPE = t16.TYPE AND t16.DEVICE = 'wetter_com_gifhorn' AND t16.READING = 'feld-11'
LEFT JOIN history AS t17 ON t1.`TIMESTAMP` = t17.`TIMESTAMP` AND t1.DEVICE = t17.DEVICE AND t1.TYPE = t17.TYPE AND t17.DEVICE = 'wetter_com_gifhorn' AND t17.READING = 'feld-12'
LEFT JOIN history AS t18 ON t1.`TIMESTAMP` = t18.`TIMESTAMP` AND t1.DEVICE = t18.DEVICE AND t1.TYPE = t18.TYPE AND t18.DEVICE = 'wetter_com_gifhorn' AND t18.READING = 'feld-13'
LEFT JOIN history AS t19 ON t1.`TIMESTAMP` = t19.`TIMESTAMP` AND t1.DEVICE = t19.DEVICE AND t1.TYPE = t19.TYPE AND t19.DEVICE = 'wetter_com_gifhorn' AND t19.READING = 'feld-14'
LEFT JOIN history AS t20 ON t1.`TIMESTAMP` = t20.`TIMESTAMP` AND t1.DEVICE = t20.DEVICE AND t1.TYPE = t20.TYPE AND t20.DEVICE = 'wetter_com_gifhorn' AND t20.READING = 'feld-15'
LEFT JOIN history AS t21 ON t1.`TIMESTAMP` = t21.`TIMESTAMP` AND t1.DEVICE = t21.DEVICE AND t1.TYPE = t21.TYPE AND t21.DEVICE = 'wetter_com_gifhorn' AND t21.READING = 'feld-16'
LEFT JOIN history AS t22 ON t1.`TIMESTAMP` = t22.`TIMESTAMP` AND t1.DEVICE = t22.DEVICE AND t1.TYPE = t22.TYPE AND t22.DEVICE = 'wetter_com_gifhorn' AND t22.READING = 'feld-17'
LEFT JOIN history AS t23 ON t1.`TIMESTAMP` = t23.`TIMESTAMP` AND t1.DEVICE = t23.DEVICE AND t1.TYPE = t23.TYPE AND t23.DEVICE = 'wetter_com_gifhorn' AND t23.READING = 'feld-18'
LEFT JOIN history AS t24 ON t1.`TIMESTAMP` = t24.`TIMESTAMP` AND t1.DEVICE = t24.DEVICE AND t1.TYPE = t24.TYPE AND t24.DEVICE = 'wetter_com_gifhorn' AND t24.READING = 'feld-19'
LEFT JOIN history AS t25 ON t1.`TIMESTAMP` = t25.`TIMESTAMP` AND t1.DEVICE = t25.DEVICE AND t1.TYPE = t25.TYPE AND t25.DEVICE = 'wetter_com_gifhorn' AND t25.READING = 'feld-20'
LEFT JOIN history AS t26 ON t1.`TIMESTAMP` = t26.`TIMESTAMP` AND t1.DEVICE = t26.DEVICE AND t1.TYPE = t26.TYPE AND t26.DEVICE = 'wetter_com_gifhorn' AND t26.READING = 'feld-21'
LEFT JOIN history AS t27 ON t1.`TIMESTAMP` = t27.`TIMESTAMP` AND t1.DEVICE = t27.DEVICE AND t1.TYPE = t27.TYPE AND t27.DEVICE = 'wetter_com_gifhorn' AND t27.READING = 'feld-22'
LEFT JOIN history AS t28 ON t1.`TIMESTAMP` = t28.`TIMESTAMP` AND t1.DEVICE = t28.DEVICE AND t1.TYPE = t28.TYPE AND t28.DEVICE = 'wetter_com_gifhorn' AND t28.READING = 'feld-23'
LEFT JOIN history AS t29 ON t1.`TIMESTAMP` = t29.`TIMESTAMP` AND t1.DEVICE = t29.DEVICE AND t1.TYPE = t29.TYPE AND t29.DEVICE = 'wetter_com_gifhorn' AND t29.READING = 'feld-24'
WHERE t1.DEVICE = 'wetter_com_gifhorn' AND t1.READING = 'Status' AND t1.`TIMESTAMP` >= CURRENT_DATE() AND t1.`TIMESTAMP` < CURRENT_DATE() + 1
ORDER BY t1.`TIMESTAMP`


Hier als Beispiel eine Zeile des Ergebnises:

ZeitStatusStatus2hdateregenfeld-01feld-02feld-03time_04feld-04feld-05feld-06feld-07feld-08feld-09feld-10feld-11feld-12feld-13feld-14feld-15feld-16feld-17feld-18feld-19feld-20feld-21feld-22feld-23feld-24
17.08.21 06:14:521117.08.21Mäßiger Niederschlag beginnt gegen 06:30 Uhr00006:250< 0.4 l/m²/h0< 0.4 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h000< 0.4 l/m²/h< 0.4 l/m²/h0000

Vielleicht hilft das ja jemandem.  :D
Gruß
Tri

Jamo

Hallo Tri,
danke, wirklich hilfreich. Weisst Du evtl, ob man anstatt der Stadt, evtl auch geokordinaten angeben kann?
Also anstelle https://www.wetter.com/deutschland/gifhorn/DE0003428.html eben so was wie (das hier funktioniert nicht): https://www.wetter.com/#geo:48.1374,11.5755,7

Ich moechte das Regenradar für meine jeweilige position ausgeben, und der link lässt sich so wie angegeben nicht generisch aendern, weil sich sowohl die Stadt als auch der String "DE000XXX.html" dahinter ändert.

Danke!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

ch.eick

Zitat von: Jamo am 19 August 2021, 00:10:26
Hallo Tri,
danke, wirklich hilfreich. Weisst Du evtl, ob man anstatt der Stadt, evtl auch geokordinaten angeben kann?
Also anstelle https://www.wetter.com/deutschland/gifhorn/DE0003428.html eben so was wie (das hier funktioniert nicht): https://www.wetter.com/#geo:48.1374,11.5755,7

Ich moechte das Regenradar für meine jeweilige position ausgeben, und der link lässt sich so wie angegeben nicht generisch aendern, weil sich sowohl die Stadt als auch der String "DE000XXX.html" dahinter ändert.
Da müsstest Du mal die Web Seite durchforsten und eventuell in der Hilfe nachschauen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Tri

Hallo Jamo,

ursprünglich wollte ich über die Koordinaten gehen, habe das aber so nicht hin bekommen. Vielleicht hilft da der erste Ansatz mit der Grafik der Regenwolken. Ursprünglich dachte ich daran, einen Kreis um die Position zu definieren und dort die Farbe der Pixel auszuwerten. Das Bild ist unter einem Link wie diesem zu finden:

https://overlays.w3dapi.de/radar/nearcast/wx_classified_filled_corrected_snow/20210819/202108190625/wx_classified_filled_corrected_snow_nearcast_202108190710.png

Eine Auswertung hatte ich über "Bitmaps – PNG und JPEG – in Canvas" vor. Damit können die Pixel abgefragt werden. Daraus ergibt sich dann die Aufgabe, die genaue Position in dem Bitmap zu bestimmen.

Da bei wetter.com diese Aufgabe schon für bestimmte Positionen mit Berücksichtigung der Windrichtung erledigt ist, habe ich diesen Ansatz verworfen.

Gruß
Tri

Jamo

#4
Hallo Tri,
danke, ich glaube das ist mir zu kompliziert. Ich möchte fuer meine aktuelle Position die visualisierte Regenradar Vorhersage haben, deswegen die Frage.

Basierend auf deiner Lösung, habe ich, anstatt die Farben der Felder zu konvertieren (hast Du mit reading08OMap gemacht, z.B. #a6caf0:< 0.4 l/m²/h), direkt die Farben in meinen color-01 ... color-24 readings generiert.
Diese Readings habe ich dann über eine sub "color2html" in eine kleine HTML tabelle mit 24 einzelnen Feldern convertiert, also ähnlich der kleinen Graphik, die auf der Wetter.com Webseite zu sehen ist.
Das kann man sich dann über das Weblink modul anzeigen lassen, -> "defmod WetterCom_bar weblink htmlCode {color2html('WetterCom','color')}"
Startzeit und folgende Zeitabstände sind im 20 minuten Abstand über der Tabelle als Zeit mit eingetragen.
Damit erhält man eine graphische Visualisierung des Regenradars für den Standort für die nächsten 2 Stunden, wie im Bild (die Farben sind fake, bei mir gibts im moment kein Regen). Ist sehr übersichtlich.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Tri

#5
Hallo Jamo,

vielen Dank für Deinen Hinweis. Das macht als Anzeige auf alle Fälle Sinn.


Mir sind gerade eben ein oder zwei Probleme mit dem virtuellem Regensensor aufgefallen:

Aufgrund dessen, dass es gerade ganz leicht und kurz genieselt hat, und leider keine Warnung gekommen ist, habe ich die Daten aus der Datenbank abgerufen:


ZeitStatusStatus2hdateregenfeld-01feld-02feld-03time_04feld-04feld-05feld-06feld-07feld-08feld-09feld-10feld-11feld-12feld-13feld-14feld-15feld-16feld-17feld-18feld-19feld-20feld-21feld-22feld-23feld-24
19.08.2021 13:59:5800Do 19.08.Kein Niederschlag in Sicht00014:05000000000000000000000
19.08.2021 14:04:5800Do 19.08.Kein Niederschlag in Sicht00014:15000000000000000000000
19.08.2021 14:09:5800Do 19.08.Kein Niederschlag in Sicht00014:20000000000000000000000
Kommentar: Leichter Nieselregen um 14.13 Uhr ohne Warnung. War aber nur sehr kurz und sehr wenig, ist schnell wieder verdunstet. Ein normaler Regensensor hätte vielleicht auch nicht ausgelöst. Auffällig sind aber die Zeiten von ,,time_04".
19.08.2021 14:14:5800Do 19.08.Kein Niederschlag in Sicht00014:20000000000000000000000
19.08.2021 14:19:5800Do 19.08.Kein Niederschlag in Sicht00014:30000000000000000000000
19.08.2021 14:24:5800Do 19.08.Kein Niederschlag in Sicht00014:35000000000000000000000
19.08.2021 14:29:5800Do 19.08.Kein Niederschlag in Sicht00014:35000000000000000000000

Das zeigt, dass die Abfrage nicht 300 sec. haben darf oder syncronisiert werden muss. Vorschlag ist, die Zeit auf 290 sec. zu stellen. Dadurch, das die Auswertungen mit time_04 für 14.10, 14.25 fehlen, könnte die Erkennung gelitten haben. Vieleicht hat wetter.com aber auch nichts gemeldet. Das werde ich nicht mehr heraus bekommen.

Gruß
Tri

Tri

... das Ändern der Intervalle hat keine Lösung gebracht:

ZeitStatusStatus2hdateregenfeld-01feld-02feld-03time_04feld-04feld-05feld-06feld-07feld-08feld-09feld-10feld-11feld-12feld-13feld-14feld-15feld-16feld-17feld-18feld-19feld-20feld-21feld-22feld-23feld-24
20.08.2021 09:17:4200Fr 20.08.Kein Niederschlag in Sicht00009:25000000000000000000000
20.08.2021 09:22:3200Fr 20.08.Kein Niederschlag in Sicht00009:30000000000000000000000
20.08.2021 09:27:2200Fr 20.08.Kein Niederschlag in Sicht00009:35000000000000000000000
20.08.2021 09:32:1200Fr 20.08.Kein Niederschlag in Sicht00009:40000000000000000000000
20.08.2021 09:37:0200Fr 20.08.Kein Niederschlag in Sicht00009:35000000000000000000000
20.08.2021 09:41:5200Fr 20.08.Kein Niederschlag in Sicht00009:50000000000000000000000
20.08.2021 09:46:4300Fr 20.08.Kein Niederschlag in Sicht00009:50000000000000000000000
20.08.2021 09:51:3200Fr 20.08.Kein Niederschlag in Sicht00009:55000000000000000000000
20.08.2021 09:56:2200Fr 20.08.Kein Niederschlag in Sicht00010:05000000000000000000000
20.08.2021 10:01:1200Fr 20.08.Kein Niederschlag in Sicht00010:10000000000000000000000
20.08.2021 10:06:0200Fr 20.08.Kein Niederschlag in Sicht00010:15000000000000000000000
20.08.2021 10:10:5200Fr 20.08.Kein Niederschlag in Sicht00010:20000000000000000000000
20.08.2021 10:15:4200Fr 20.08.Kein Niederschlag in Sicht00010:20000000000000000000000

Meistens funktioniert der virtuelle Regensensor - woher das oben beschriebene Problem herrührt, darüber kann ich nur spekulieren. Zum Teil geht die Zeit auch 5 min. zurück. Eventuell steht die Seite - obwohl explizit ausgeschlossen - auf irgend welchen Internet-Servern im Cache.

Tri

Heute kam ein leichter Regen ca. 1 Minute eher als die Meldung um 07:51:31. Es muss also ein Feld mehr, feld-08, ausgewertet werden um die Markise effektiv zu schützen. Dann wäre ein Befehl bzw. in diesem Fall eine Meldung um 07:41:50 gekommen.


ZeitStatusStatus2hdateregenfeld-01feld-02feld-03time_04feld-04feld-05feld-06feld-07feld-08feld-09feld-10feld-11feld-12feld-13feld-14feld-15feld-16feld-17feld-18feld-19feld-20feld-21feld-22feld-23feld-24
22.08.2021 06:58:2000So 22.08.Kein Niederschlag in Sicht00007:00000000000000000000000
22.08.2021 07:03:1000So 22.08.Kein Niederschlag in Sicht00007:00000000000000000000000
22.08.2021 07:08:0001So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:30 Uhr00007:100000000000000000< 0.4 l/m²/h< 0.4 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:12:5001So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:30 Uhr00007:100000000000000000< 0.4 l/m²/h< 0.4 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:17:4001So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:30 Uhr00007:2000000000000000< 0.4 l/m²/h< 0.4 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:22:3101So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:25 Uhr00007:3000000000000< 0.4 l/m²/h< 0.4 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:27:2101So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:10 Uhr00007:350000000< 0.4 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:32:1001So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:25 Uhr00007:3000000000000< 0.4 l/m²/h< 0.4 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:37:0101So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:10 Uhr00007:350000000< 0.4 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:41:5001So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:00 Uhr00007:400000< 0.4 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:46:4001So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:05 Uhr00007:450000< 0.4 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 07:51:3111So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:00 Uhr00008:00< 0.4 l/m²/h< 0.4 l/m²/h< 0.4 l/m²/h< 0.4 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 0.4 l/m²/h
22.08.2021 07:56:2001So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:15 Uhr00007:550000< 0.4 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h
22.08.2021 08:01:1211So 22.08.Mäßiger Niederschlag beginnt gegen 08:05 Uhr00< 0.4 l/m²/h08:100< 0.4 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h
22.08.2021 08:06:0111So 22.08.Zumeist mäßiger Niederschlag in wechselnder Intensität beginnt gegen 08:20 Uhr00008:150< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 8.1 l/m²/h< 1.9 l/m²/h< 1.9 l/m²/h

gestein

Hallo,

ich wollte das gerade ausprobieren und habe das HTTPMOD entsprechend angepasst.
Zuerst musste ich aber noch das Attribut "bodyDecode" auf "auto" setzen:
defmod wetter_com_1200 HTTPMOD https://at.wetter.com/oesterreich/brigittenau/ATAT10678010.html 300
attr wetter_com_1200 bodyDecode auto
attr wetter_com_1200 comment https://forum.fhem.de/index.php/topic,122508.msg1170713.html#msg1170713
attr wetter_com_1200 reading01Name regen
attr wetter_com_1200 reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr wetter_com_1200 reading02Name date
attr wetter_com_1200 reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\>
attr wetter_com_1200 reading08-1Name feld-01
attr wetter_com_1200 reading08-25Name time_04
attr wetter_com_1200 reading08-2Name feld-02
attr wetter_com_1200 reading08-3Name feld-03
attr wetter_com_1200 reading08-4Name feld-04
attr wetter_com_1200 reading08-5Name feld-05
attr wetter_com_1200 reading08-6Name feld-06
attr wetter_com_1200 reading08-7Name feld-07
attr wetter_com_1200 reading08-8Name feld-08
attr wetter_com_1200 reading08-9Name feld-09
attr wetter_com_1200 reading08Name feld
attr wetter_com_1200 reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr wetter_com_1200 reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*</tr>\W*<tr>\W*<td.colspan=\"2\".*Jetzt\W*</td>\W*<td colspan="2".*>(.*)</td>
attr wetter_com_1200 room KLF200Node
attr wetter_com_1200 stateFormat date time_04 Regen aktuell: Status Regen 2h: Status2h Text: regen <html>website: <a target= "_blank" href="https://at.wetter.com/oesterreich/brigittenau/ATAT10678010.html">wetter.com</a></html>
attr wetter_com_1200 userReadings Status:feld-01.* {\
  0 + \
  (ReadingsVal("wetter_com_1200","feld-01",0) ne 0 || \
  ReadingsVal("wetter_com_1200","feld-02",0) ne 0 || \
  ReadingsVal("wetter_com_1200","feld-03",0) ne 0 || \
  ReadingsVal("wetter_com_1200","feld-04",0) ne 0 || \
  ReadingsVal("wetter_com_1200","feld-05",0) ne 0 || \
  ReadingsVal("wetter_com_1200","feld-06",0) ne 0 || \
  ReadingsVal("wetter_com_1200","feld-07",0) ne 0 );;;; },\
Status2h:regen.* {\
  0 + ( ReadingsVal("wetter_com_1200","regen",0) ne "Kein Niederschlag in Sicht" );;;; },\
Status_old,\
Status2h_old\


Allerdings hängt sich fhem auf, sobald das Device auf die wetter.com-Seite zugreift.
Die letzten log-Einträge sind:
2021.08.25 12:31:32.896 4: wetter_com_1200: BodyDecode is decoding the response body as UTF-8 (charset header UTF-8, bodyDecode set to auto)
2021.08.25 12:31:32.925 5: wetter_com_1200: GetCookies is looking for Cookies
2021.08.25 12:31:32.926 5: wetter_com_1200: ExtractSid called, context reading, num unknown
2021.08.25 12:31:32.926 4: wetter_com_1200: checking for redirects, code=200, ignore=0
2021.08.25 12:31:32.926 4: wetter_com_1200: no redirects to handle
2021.08.25 12:31:32.927 5: wetter_com_1200: Read callback sets LAST_REQUEST to update
2021.08.25 12:31:32.927 5: wetter_com_1200: CheckAuth decided no authentication required
2021.08.25 12:31:32.927 5: wetter_com_1200: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01 02 08
2021.08.25 12:31:32.928 5: wetter_com_1200: Read starts parsing response to update with defined readings: 01,02,08
2021.08.25 12:31:32.929 5: wetter_com_1200: ExtractReading regen with regex /(?^:<span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>)/...
2021.08.25 12:31:32.930 5: wetter_com_1200: ExtractReading regen did not match
2021.08.25 12:31:32.930 5: wetter_com_1200: ExtractReading date with regex /(?^:<div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\>)/...


Das war es dann. Mehr kommt nicht.
Weiß jemand, woran das liegen kann?

Danke im Voraus
liebe Grüße
Gerhard

Tri

#9
Hallo Gerhard,

ich habe mal die Seite https://at.wetter.com/oesterreich/brigittenau/ATAT10678010.html aufgerufen. Ich vermisse da die Regenvorhersage. Unter https://www.wetter.com/deutschland/gifhorn/DE0003428.html sieht das anders aus. Die Bilder sind im Anhang. Das dürft aber nicht der Grund für einen Absturz sein. Vielleicht liegt es aber auch an den Berechtigungen der Seite, die ich (nicht?) gegeben habe. Wie sehen den die Readings aus?

Gruß
Tri

ch.eick

#10
Hallo zusammen,
auch ich muss leider von einem FHEM Absturz berichten, wenn HTTPMOD auf meine wetter.com Stadt zugreift.

Generell finde ich aber eine tolle Idee, die ich in meine PV-Leistungsprognose einbinden möchte. Dort verarbeite ich momentan nur die Regenwahrscheinlichkeit vom DWD mit 3h Update.
Da Regen einen starken Einfluss auf die PV-Leistung hat wäre eine exaktere Prognose über das Regenradar von größtem Interesse.

VG
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

enno

Moin Tri,

wenn ich dein defmod aus dem ersten Post bei mir eingebe, hängt sich FHEM mit 100% Auslastung weg und ich muss es neu starten.

Wenn ich die Attribute einzeln anlege, passiert es bei folgender Zeile:
attr wetter_com_gifhorn reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*</tr>\W*<tr>\W*<td.colspan=\"2\".*Jetzt\W*</td>\W*<td colspan="2".*>(.*)</td>

Eine Idee, was das Problem sein könnte?

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Jamo

Hallo Enno,
ja das hatte ich auch, liegt am Regexp, kann man unter https://regex101.com/ auch reproduzieren, das liefert eine 'undefinite loop' oder so was.
Ich hatte dann folgendes Regex, damit sollte das funktionieren:
reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".style=\"background.color.(.*?)\;;\"\X*?\"
background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"
background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"
background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color:(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"
background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"
background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"
background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?\"background.color.(.*?)\;;\"\X*?data-nowcastKey=\"3\">(.*?)<

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Tri

Hallo zusammen,

das Problem kommt eventuell von der Eingabe in FHEM. Oben habe ich ja geschrieben, dass ich das über "RAW" gemacht habe.

Getestet habe ich jetzt nochmal mit https://regex101.com/ und https://www.wetter.com/deutschland/gifhorn/DE0003428.html

Ich habe dann den regex-String über die FHEM-Webseite (attr) wieder raus kopiert, da es zum Testen sonst nicht funktioniert: (durch z.B. doppelte Semikolon)
<table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*</tr>\W*<tr>\W*<td.colspan=\"2\".*Jetzt\W*</td>\W*<td colspan="2".*>(.*)</td>

Dann hatte ich das Ergebnis wie im Anhang.

Gruß
Tri

ch.eick

Gibt es denn dann jetzt eine saubere, komplette Definition?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

binford6000

Zitat von: ch.eick am 26 August 2021, 15:23:23
Gibt es denn dann jetzt eine saubere, komplette Definition?

Nö. Hab jetzt alle Beispiele für Regex08 durch und bei allen schmiert FHEM ab sobald versucht wird die Daten abzuholen.
Hab wieder auf disabled 1 gesetzt...

Tri

TYPE
HTTPMOD
ModuleVersion
4.1.10 - 6.7.2021

Meine aktuelle Konfig:

defmod wetter_com_gifhorn HTTPMOD https://www.wetter.com/deutschland/gifhorn/DE0003428.html 290
attr wetter_com_gifhorn DbLogExclude .*
attr wetter_com_gifhorn DbLogInclude Status,Status2h,regen,date,time_04,feld-\d*,wolken
attr wetter_com_gifhorn reading01Name regen
attr wetter_com_gifhorn reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr wetter_com_gifhorn reading02Name date
attr wetter_com_gifhorn reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
attr wetter_com_gifhorn reading03Name wolken
attr wetter_com_gifhorn reading03OMap wolkenlos:0/8 wolkenlos,sonnig:1/8 sonnig,heiter:2/8 heiter,leicht bew\u00f6lkt:3/8 leicht bewölkt,wolkig:4/8 wolkig,bew\u00f6lkt:5/8 bewölkt,stark bew\u00f6lkt:6/8 stark bewölkt,fast bedeckt:7/8 fast bedeckt,bedeckt:8/8 bedeckt
attr wetter_com_gifhorn reading03Regex <div.id..rtw_cnt..data-rtw..*..quot.*shortText.quot...quot.(.*).quot...quot.*longText.*quot
attr wetter_com_gifhorn reading08-1Name feld-01
attr wetter_com_gifhorn reading08-25Name time_04
attr wetter_com_gifhorn reading08-2Name feld-02
attr wetter_com_gifhorn reading08-3Name feld-03
attr wetter_com_gifhorn reading08-4Name feld-04
attr wetter_com_gifhorn reading08-5Name feld-05
attr wetter_com_gifhorn reading08-6Name feld-06
attr wetter_com_gifhorn reading08-7Name feld-07
attr wetter_com_gifhorn reading08-8Name feld-08
attr wetter_com_gifhorn reading08-9Name feld-09
attr wetter_com_gifhorn reading08Name feld
attr wetter_com_gifhorn reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr wetter_com_gifhorn reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*</tr>\W*<tr>\W*<td.colspan=\"2\".*Jetzt\W*</td>\W*<td colspan="2".*>(.*)</td>
attr wetter_com_gifhorn room KLF200Node
attr wetter_com_gifhorn stateFormat date time_04 Regen aktuell: Status, Regen 2h: Status2h, wolken, regen, <html><a target= "_blank" href="https://www.wetter.com/deutschland/gifhorn/DE0003428.html">wetter.com</a></html>
attr wetter_com_gifhorn userReadings Status:feld-01.* {\
  0 + \
  (ReadingsVal("wetter_com_gifhorn","feld-01",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-02",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-03",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-04",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-05",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-06",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-07",0) ne 0 );;;; },\
Status2h:regen.* {\
  0 + ( ReadingsVal("wetter_com_gifhorn","regen",0) ne "Kein Niederschlag in Sicht" );;;; },\
Status_old,\
Status2h_old\


Die Readings

setstate wetter_com_gifhorn Do 26.08. 19:55 Regen aktuell: 0, Regen 2h: 0, 7/8 fast bedeckt, Kein Niederschlag in Sicht, <html><a target= "_blank" href="https://www.wetter.com/deutschland/gifhorn/DE0003428.html">wetter.com</a></html>
setstate wetter_com_gifhorn 2021-08-26 19:48:29 Status 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 Status2h 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 Status2h_old 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 Status_old 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 date Do 26.08.
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-01 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-02 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-03 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-04 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-05 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-06 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-07 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-08 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-09 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-10 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-11 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-12 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-13 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-14 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-15 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-16 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-17 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-18 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-19 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-20 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-21 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-22 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-23 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 feld-24 0
setstate wetter_com_gifhorn 2021-08-26 19:48:29 regen Kein Niederschlag in Sicht
setstate wetter_com_gifhorn 2021-08-26 19:48:29 time_04 19:55
setstate wetter_com_gifhorn 2021-08-26 19:48:29 wolken 7/8 fast bedeckt


Also im Prinzip alles so ähnlich wie oben beschrieben. Was ich zugefügt habe, ist eine Auswertung der Wolken. Die ModuleVersion sollte auf alle Fälle kontrolliert werden. Bei reading02Regex habe ich scheinbar auch etwas angepasst: <\/div>

Das teilweise auf wetter.com keine Auswertung vorhanden ist, steht ja oben beschrieben.

Ich hatte bislang keinen einzigen Absturz, kann diese Probleme aus diesem Grund auch nicht nachvollziehen. Da müssen schon noch mehr Informationen kommen, wie z.B. die Readings. Was zu beachten bleibt ist, das ich eine Datenbank mariadb benutze.

enno

Moin Tri,

mit deinem neuen Vorschlag funktioniert es bei mir. Jetzt werde ich mir das für meinen Wohnort umstricken...

Erst mal danke für die Idee!

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

binford6000

Zitat von: Tri am 26 August 2021, 20:16:43
TYPE
HTTPMOD
ModuleVersion
4.1.10 - 6.7.2021

Meine aktuelle Konfig:

defmod wetter_com_gifhorn HTTPMOD https://www.wetter.com/deutschland/gifhorn/DE0003428.html 290
attr wetter_com_gifhorn DbLogExclude .*
attr wetter_com_gifhorn DbLogInclude Status,Status2h,regen,date,time_04,feld-\d*,wolken
attr wetter_com_gifhorn reading01Name regen
attr wetter_com_gifhorn reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr wetter_com_gifhorn reading02Name date
attr wetter_com_gifhorn reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
attr wetter_com_gifhorn reading03Name wolken
attr wetter_com_gifhorn reading03OMap wolkenlos:0/8 wolkenlos,sonnig:1/8 sonnig,heiter:2/8 heiter,leicht bew\u00f6lkt:3/8 leicht bewölkt,wolkig:4/8 wolkig,bew\u00f6lkt:5/8 bewölkt,stark bew\u00f6lkt:6/8 stark bewölkt,fast bedeckt:7/8 fast bedeckt,bedeckt:8/8 bedeckt
attr wetter_com_gifhorn reading03Regex <div.id..rtw_cnt..data-rtw..*..quot.*shortText.quot...quot.(.*).quot...quot.*longText.*quot
attr wetter_com_gifhorn reading08-1Name feld-01
attr wetter_com_gifhorn reading08-25Name time_04
attr wetter_com_gifhorn reading08-2Name feld-02
attr wetter_com_gifhorn reading08-3Name feld-03
attr wetter_com_gifhorn reading08-4Name feld-04
attr wetter_com_gifhorn reading08-5Name feld-05
attr wetter_com_gifhorn reading08-6Name feld-06
attr wetter_com_gifhorn reading08-7Name feld-07
attr wetter_com_gifhorn reading08-8Name feld-08
attr wetter_com_gifhorn reading08-9Name feld-09
attr wetter_com_gifhorn reading08Name feld
attr wetter_com_gifhorn reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr wetter_com_gifhorn reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*</tr>\W*<tr>\W*<td.colspan=\"2\".*Jetzt\W*</td>\W*<td colspan="2".*>(.*)</td>
attr wetter_com_gifhorn room KLF200Node
attr wetter_com_gifhorn stateFormat date time_04 Regen aktuell: Status, Regen 2h: Status2h, wolken, regen, <html><a target= "_blank" href="https://www.wetter.com/deutschland/gifhorn/DE0003428.html">wetter.com</a></html>
attr wetter_com_gifhorn userReadings Status:feld-01.* {\
  0 + \
  (ReadingsVal("wetter_com_gifhorn","feld-01",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-02",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-03",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-04",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-05",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-06",0) ne 0 || \
  ReadingsVal("wetter_com_gifhorn","feld-07",0) ne 0 );;;; },\
Status2h:regen.* {\
  0 + ( ReadingsVal("wetter_com_gifhorn","regen",0) ne "Kein Niederschlag in Sicht" );;;; },\
Status_old,\
Status2h_old\


Mit dieser Definition klappt der Datenabruf bei mir ebenfalls und dann werden auch die Readings befüllt.
Danke und VG,
Sebastian

binford6000

Aktuell habe ich noch folgende Meldung im Log:
2021.08.27 18:00:31 3: rain.fc: MapConvert called from FormatReading did not find 18:05 (18:05) in map #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)

enno

Zitat von: binford6000 am 27 August 2021, 18:04:58
Aktuell habe ich noch folgende Meldung im Log:
2021.08.27 18:00:31 3: rain.fc: MapConvert called from FormatReading did not find 18:05 (18:05) in map #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)

Habe ich auch. Ist nur eine Info (Level 3). Daher Verbose 2 und Ruhe ist.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

jkriegl

#21
Habe per ui_Table (DOIF) die Regen-Prognose visualisiert.
Verbesserungen Zeit und Farbe sind noch möglich.
Auf uns kommte heftiger Regen zu!
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Helmi55

guten Abend Leute
das würde mir sehr gut gefallen - ABER - was muss ich ändern wenn ich keine DB Log Datei verwende?
Habe naiver weise nur die 2 Zeilen gelöscht - aber das wäre zu einfach  8)

Gruß und Danke
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Tri

Zitat von: jkriegl am 28 August 2021, 17:55:56
Habe per ui_Table (DOIF) die Regen-Prognose visualisiert.
Verbesserungen Zeit und Farbe sind noch möglich.
Auf uns kommte heftiger Regen zu!

DOIF/uiTable Schnelleinstieg: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg

Helmi55

Wenn das für mich gemeint war Danke.
Aber ich meinte die Grundconfig bezüglich DB Datenbank
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

gestein

Zitat von: Tri am 25 August 2021, 20:00:39
ich habe mal die Seite https://at.wetter.com/oesterreich/brigittenau/ATAT10678010.html aufgerufen. Ich vermisse da die Regenvorhersage. Unter https://www.wetter.com/deutschland/gifhorn/DE0003428.html sieht das anders aus. Die Bilder sind im Anhang. Das dürft aber nicht der Grund für einen Absturz sein. Vielleicht liegt es aber auch an den Berechtigungen der Seite, die ich (nicht?) gegeben habe. Wie sehen den die Readings aus?

Hallo Tri,

da hast Du wohl recht. Anscheinend wird in Österreich kein Regen angegeben.
Schade.
Danke für Deine Hilfe!
lg, Gerhard

Esjay

Zitat von: Helmi55 am 28 August 2021, 19:58:34
Wenn das für mich gemeint war Danke.
Aber ich meinte die Grundconfig bezüglich DB Datenbank
Gruß
Helmut

Was ist denn dein Ziel? Das Device an und für sich sollte auch ohne Datenbank funktionieren.
Geht irgendwas nicht?

Grüße

Tri

Hallo Helmi55,

der Link DOIF/uiTable Schnelleinstieg: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg war eher für mich und andere, die nicht gerne suchen, sorry.  ;)

Ich habe das mal auf die Grundfunktion runter gebrochen, damit sollte es übersichtlicher werden:

defmod wetter_com_gifhorn HTTPMOD https://www.wetter.com/deutschland/gifhorn/DE0003428.html 290
attr wetter_com_gifhorn reading08Name feld
attr wetter_com_gifhorn reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;
attr wetter_com_gifhorn stateFormat Status
attr wetter_com_gifhorn userReadings Status:feld-1.* { \
0 + \
(ReadingsVal("wetter_com_gifhorn","feld-1",0) ne "#fff" || \
ReadingsVal("wetter_com_gifhorn","feld-2",0) ne "#fff" || \
ReadingsVal("wetter_com_gifhorn","feld-3",0) ne "#fff" || \
ReadingsVal("wetter_com_gifhorn","feld-4",0) ne "#fff" || \
ReadingsVal("wetter_com_gifhorn","feld-5",0) ne "#fff" || \
ReadingsVal("wetter_com_gifhorn","feld-6",0) ne "#fff" || \
ReadingsVal("wetter_com_gifhorn","feld-7",0) ne "#fff" );;;; }



Gruß
Tri

ch.eick

Zitat von: Helmi55 am 28 August 2021, 19:58:34
Wenn das für mich gemeint war Danke.
Aber ich meinte die Grundconfig bezüglich DB Datenbank
Hallo Helmut,
ohne DbLog nimmst Du einfach die Einträge raus, dann bleibt das einfache Device und im Anschluss kannst Du Dir ein FileLog definieren, wie Du es bei anderen devices sicher auch hast.
Generell wäre es für die Zukunft aber sicher schöner, wenn Du eine Datenbank nimmst und das dann mit Grafana auswertest. Das ist am Anfang etwas Arbeit, macht aber dann mächtig Spaß.

Für der RPI gibt es auch einen Docker Container für MySQL und auch für Grafana.

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

jkriegl

#29
Bei mir funktioniert alles ohne die beiden DB-attr-Einträge. (s. Lösung von Sebastian).
Warum soll ich Prognosewerte aufzeichnen? Höchstens um zu prüfen, ob diese auch etwas taugen.
Vorschlag: im userReading $name statt <device> verwenden, dann ist so etwas einfacher zu übertragen.
Sorry: die Lösung ist von Tri.
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Tri

Hallo jkriegl,

guter Hinweis mit $name, hier die geänderte einfache Version (Zeile mit DbLogExclude löschen):


defmod wetter_com_gifhorn HTTPMOD https://www.wetter.com/deutschland/gifhorn/DE0003428.html 290
attr wetter_com_gifhorn DbLogExclude .*
attr wetter_com_gifhorn reading08Name feld
attr wetter_com_gifhorn reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;.*</td>\W*<td class=\".*style=\"background-color:(.*);;
attr wetter_com_gifhorn stateFormat Status
attr wetter_com_gifhorn userReadings Status:feld-1.* { \
0 + \
(ReadingsVal($name,"feld-1",0) ne "#fff" || \
ReadingsVal($name,"feld-2",0) ne "#fff" || \
ReadingsVal($name,"feld-3",0) ne "#fff" || \
ReadingsVal($name,"feld-4",0) ne "#fff" || \
ReadingsVal($name,"feld-5",0) ne "#fff" || \
ReadingsVal($name,"feld-6",0) ne "#fff" || \
ReadingsVal($name,"feld-7",0) ne "#fff" );;;; }



Gruß
Tri

Damian

Falls jemand Klartextmeldung braucht:

attr <device> reading01Name Ansage
attr <device> reading01Regex <span id="nowcast-text" class="portable-mb--">\W*(.*)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

MadMax-FHEM

#32
Hallo und vielen Dank für diese Idee! :)

Ich hab (für mich) ein wenig "rumgespielt" und folgendes bei mir laufen:

ich habe das userReadings-Zeugs in myUtils "ausgelagert" und erweitert

sub my_userReadingsWetterCom($$$$)
{
  my ($Device, $Start, $End, $Mode) = @_;
  my $LoopStart = $Start;
  my $ReturnTxt = "kein Niederschlag";
  my $ReturnNum = 0;
  my $RainVolume = 0;
  my $RainVolumeAvg = 0;
  my $FieldNum = "01";
  my $NoRainLimit = AttrVal($Device, "my_NoRainLimit", 0);
  my $LowRainLimit = AttrVal($Device, "my_LowRainLimit", 2);
  my $MediumRainLimit = AttrVal($Device, "my_MediumRainLimit", 5);
  my $HighRainLimit = AttrVal($Device, "my_HighRainLimit", 10);
 
#  Log3(undef, 1, "my_userReadingsWetterCom    Start: $Start      End: $End");

  while($LoopStart <= $End)
  {
    $FieldNum = sprintf("%02u", $LoopStart);
    $RainVolume += ReadingsNum($Device,"feld-$FieldNum",0);
    $LoopStart++;
  }
  $RainVolumeAvg = $RainVolume / ($End - $Start);
#  Log3(undef, 1, "my_userReadingsWetterCom    RainVolume: $RainVolume      RainVolumeAvg: $RainVolumeAvg     NoRainLimit: $NoRainLimit     LowRainLimit: $LowRainLimit    MediumRainLimit: $MediumRainLimit    HighRainLimit: $HighRainLimit");
 
  if($RainVolumeAvg > $HighRainLimit)
  {
    $ReturnTxt = "sehr starker Niederschlag";
    $ReturnNum = 4;
  }
  elsif($RainVolumeAvg > $MediumRainLimit)
  {
    $ReturnTxt = "starker Niederschlag";
    $ReturnNum = 3;
  }
  elsif($RainVolumeAvg > $LowRainLimit)
  {
    $ReturnTxt = "Niederschlag";
    $ReturnNum = 2;
  }
  elsif($RainVolumeAvg > $NoRainLimit)
  {
    $ReturnTxt = "leichter Niederschlag";
    $ReturnNum = 1;
  }

  if($Mode eq "txt")
  {
    return $ReturnTxt;
  }
  else
  {
    return $ReturnNum;
  }
}

(jaja, ich weiß: Prototypen / will jetzt aber hier gar nicht diskutieren, ich mach das so basta, wer ohne will: feel free ;)  )

EDIT: einige Fehler korrigiert! SORRY! ;) 

Die Logeinträge kann man nat. auch rausnehmen, waren nur für mich zum "Debuggen"...

Dann nat. die userReadings anpassen.
Ich habe hier mal die Möglichkeit mit Nummer (besser für programmatische Reaktionen) und Text (habe ich als "Anzeige"):

Status:feld-01.* {my_userReadingsWetterCom("$name", 1, 7, "txt")},
Status1h:feld-01.* {my_userReadingsWetterCom("$name", 8, 15, "txt")},
Status2h:feld-01.* {my_userReadingsWetterCom("$name", 16, 21, "txt")},
Status_num:feld-01.* {my_userReadingsWetterCom("$name", 1, 7, "num")},
Status1h_num:feld-01.* {my_userReadingsWetterCom("$name", 8, 15, "num")},
Status2h_num:feld-01.* {my_userReadingsWetterCom("$name", 16, 21, "num")}


Man kann nun leicht anpassen, wenn man andere "field-Nummern" haben will oder weitere Unterteilungen der Zeit bzw. wenn jemand andere Nummern-Zeit-Zuordnungen will, einfach entsprechend Start/Stopp anpassen... ;)

EDIT: entsprechend habe ich auch mein stateFormat angepasst

date time_04
</br>Aktuell: Status
</br>In 1h: Status1h
</br>In 2h: Status2h
</br>regen


Und dann habe ich noch eigene Attribute beigefügt, wo ich eben "einstellen" kann, was für mich "kein Regen", "wenig Regen", "Regen" und "(sehr) viel Regen" bedeutet...
Zum Vergleich wird immer der Durchschnittswert des angegebenen "Zeitraums" (bzw. Start-Field -> End-Field) genommen...

userattr my_NoRainLimit my_LowRainLimit my_MediumRainLimit my_HighRainLimit

Dann halt noch die Attribute entsprechend mit den Limit-Werten versehen, meine aktuelle Einstellung (mag sich noch ändern ;)  ):

my_HighRainLimit 10
my_LowRainLimit 3
my_MediumRainLimit 6
my_NoRainLimit 0.5


Ich hoffe ich hab jetzt (hier beim Posten) keinen "Murks" reingebracht...
...viel testen konnte ich noch nicht, da es (nat.) gerade NICHT regnet und auch nichts angekündigt ist...
...vielleicht kann das ja noch wer brauchen (oder verbessern).

Achja: ich hab das mal parallel mit meinem Regensensor laufen lassen...
...naja die Markise würde ich danach nicht steuern...
...aber so als "Forecast" ist es echt toll! :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Helmi55

Hallo und Danke (für den Hinweis bezüglich DB)
Leider funktioniert es in Österreich tatsächlich nicht.
Hier schüttet es und die Anzeige sagt kein Niederschlag in Sicht (naj vielleicht nachher :'()

Hier mein list:
Internals:
   BUSY       0
   DEF        https://at.wetter.com/oesterreich/st-andrae-woerdern/ATAT10573.html 290
   FUUID      612c9ac5-f33f-c23a-cbce-75d1f33fe193c9e6
   Interval   290
   MainURL    https://at.wetter.com/oesterreich/st-andrae-woerdern/ATAT10573.html
   ModuleVersion 4.1.10 - 6.7.2021
   NAME       wetter_com_woerdern
   NOTIFYDEV  global
   NR         44
   NTFY_ORDER 50-wetter_com_woerdern
   STATE      Status
   TYPE       HTTPMOD
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://at.wetter.com:443
     auth       0
     code       200
     compress   1
     conn       
     data       
     displayurl https://at.wetter.com/oesterreich/st-andrae-woerdern/ATAT10573.html
     header     
     host       at.wetter.com
     httpheader HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Age: 0
Cache-Control: public
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Tue, 31 Aug 2021 10:42:41 GMT
Expires: Tue, 31 Aug 2021 10:47:41 GMT
grace: none
Vary: X-MOBILE-POC, X-PROGRAMMATIC, X-OASIS-VERSION, X-CMP-GROUP, X-PWA-GROUP, X-IE-USER, X-CMP-RELOAD, User-Agent, Accept-Encoding
X-Backend: green
X-Cache: MISS
X-Cache-Hits: 0
X-Content-Type-Options: nosniff
X-Forwarded-Proto: https
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Connection: Close
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /oesterreich/st-andrae-woerdern/ATAT10573.html
     protocol   https
     redirects  0
     timeout    2
     url        https://at.wetter.com/oesterreich/st-andrae-woerdern/ATAT10573.html
     sslargs:
   QUEUE:
   READINGS:
     2021-08-31 12:42:42   date            Di 31.08.
     2021-08-31 11:25:22   feld-01         0
     2021-08-31 11:25:22   feld-02         0
     2021-08-31 11:25:22   feld-03         0
     2021-08-31 11:25:22   feld-04         0
     2021-08-31 11:25:22   feld-05         0
     2021-08-31 11:25:22   feld-06         0
     2021-08-31 11:25:22   feld-07         0
     2021-08-29 12:55:26   feld-08         0
     2021-08-29 12:55:26   feld-09         0
     2021-08-29 12:55:26   feld-10         0
     2021-08-29 12:55:26   feld-11         0
     2021-08-29 12:55:26   feld-12         0
     2021-08-29 12:55:26   feld-13         0
     2021-08-29 12:55:26   feld-14         0
     2021-08-29 12:55:26   feld-15         0
     2021-08-29 12:55:26   feld-16         0
     2021-08-29 12:55:26   feld-17         0
     2021-08-29 12:55:26   feld-18         0
     2021-08-29 12:55:26   feld-19         0
     2021-08-29 12:55:26   feld-20         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-21         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-22         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-23         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-24         < 0.4 l/m²/h
     2021-08-31 11:25:22   regen           Kein Niederschlag in Sicht
     2021-08-29 12:55:26   time_04         12:55
     2021-08-31 12:42:42   wolken          m\u00e4\u00dfiger Regen
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        unknown
     retryCount 0
     type       update
     url        https://at.wetter.com/oesterreich/st-andrae-woerdern/ATAT10573.html
   defptr:
     readingBase:
       date       reading
       wolken     reading
     readingNum:
       date       02
       wolken     03
     readingOutdated:
     requestReadings:
       update:
         date       reading 02
         wolken     reading 03
Attributes:
   reading01Name regen
   reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
   reading02Name date
   reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
   reading03Name wolken
   reading03OMap wolkenlos:0/8 wolkenlos,sonnig:1/8 sonnig,heiter:2/8 heiter,leicht bew\u00f6lkt:3/8 leicht bewölkt,wolkig:4/8 wolkig,bew\u00f6lkt:5/8 bewölkt,stark bew\u00f6lkt:6/8 stark bewölkt,fast bedeckt:7/8 fast bedeckt,bedeckt:8/8 bedeckt
   reading03Regex <div.id..rtw_cnt..data-rtw..*..quot.*shortText.quot...quot.(.*).quot...quot.*longText.*quot
   reading08-1Name feld-01
   reading08-25Name time_04
   reading08-2Name feld-02
   reading08-3Name feld-03
   reading08-4Name feld-04
   reading08-5Name feld-05
   reading08-6Name feld-06
   reading08-7Name feld-07
   reading08-8Name feld-08
   reading08-9Name feld-09
   reading08Name feld
   reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
   reading08Regex <table.class=\"\[.rainnowcast-timeline.\].*\">\W*<tbody>\W*<tr>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);.*</td>\W*<td class=\".*style=\"background-color:(.*);
   room       KLF200Node
   stateFormat Status
   userReadings Status:feld-1.* {
0 +
(ReadingsVal($name,"feld-1",0) ne "#fff" ||
ReadingsVal($name,"feld-2",0) ne "#fff" ||
ReadingsVal($name,"feld-3",0) ne "#fff" ||
ReadingsVal($name,"feld-4",0) ne "#fff" ||
ReadingsVal($name,"feld-5",0) ne "#fff" ||
ReadingsVal($name,"feld-6",0) ne "#fff" ||
ReadingsVal($name,"feld-7",0) ne "#fff" );; }


grüß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

MadMax-FHEM

#34
Zitat von: Helmi55 am 31 August 2021, 12:45:52
Hallo und Danke (für den Hinweis bezüglich DB)
Leider funktioniert es in Österreich tatsächlich nicht.
Hier schüttet es und die Anzeige sagt kein Niederschlag in Sicht (naj vielleicht nachher :'()

...

grüß
Helmut

EDIT: drum ja auch meine Anmerkung, dass ich das jetzt zur Markisensteuerung nicht nehmen würde. Wetter.com lag schon (oft) (ganz arg) daneben ;)

Naja, deine "Regenauswertung" (userReadings) geht ja nur von field-01 bis field-07:
Zitat
   userReadings Status:feld-1.* {
0 +
(ReadingsVal($name,"feld-1",0) ne "#fff" ||
ReadingsVal($name,"feld-2",0) ne "#fff" ||
ReadingsVal($name,"feld-3",0) ne "#fff" ||
ReadingsVal($name,"feld-4",0) ne "#fff" ||
ReadingsVal($name,"feld-5",0) ne "#fff" ||
ReadingsVal($name,"feld-6",0) ne "#fff" ||
ReadingsVal($name,"feld-7",0) ne "#fff" );; }

EDIT: wobei ich das ja bei mir über die Regenmenge (ReadingsNum) gelöst habe bzw. über die Durchschnittsmenge im "Zeitraum". Weil ja die Werte schon als Regenmenge in den Readings field-01 bis field-24 stehen...

-> da ist eben kein Regen angekündigt -> Regenmenge 0:

Zitat
     2021-08-31 11:25:22   feld-01         0
     2021-08-31 11:25:22   feld-02         0
     2021-08-31 11:25:22   feld-03         0
     2021-08-31 11:25:22   feld-04         0
     2021-08-31 11:25:22   feld-05         0
     2021-08-31 11:25:22   feld-06         0
     2021-08-31 11:25:22   feld-07         0

Regen gibt's erst später, so in (knapp) 2h ;)

Zitat
     2021-08-29 12:55:26   feld-20         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-21         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-22         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-23         < 0.4 l/m²/h
     2021-08-29 12:55:26   feld-24         < 0.4 l/m²/h

EDIT: und kam dann noch die Regenankündigung? Oder hat es sich Wetter.com wieder anders überlegt? ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Helmi55

Hallo Joachim,

geregnet hat es - aber nicht auf der "Anzeige"
Feld 20-24 das sind alte Werte (anscheinend vom Kopiervorgang!) 29.8.12:55
Daran sieht man mMn genau das es keine Auswertung für AT gibt.
Tja wir sind wieder benachteiligt.... ;D ;D

Zum Glück hab ich keine Markise die ich steuern muss

Wäre ein nice to have gewesen - aber man(n) braucht nicht alles.

Jetzt muss ich schauen das ich mein HTTPMOD mit dem Ofen hinbekomme

schönen Tag

Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

jkriegl

Läuft dieser Regensensor noch? - scheinbar muss man Regex anpassen
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

MadMax-FHEM

Bei mir läuft das noch.

Ob es allerdings in genau dieser Definition mit genau diesen userReadings/subs tut müsste ich prüfen...

Beachte es aber nur so lala.

Für Markise ist es dann doch zu ungenau bzw. stimmt es nicht immer.
Habe dazu einen ZigBee Wassersensor umgebaut...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitat von: jkriegl am 07 August 2022, 16:57:40
Läuft dieser Regensensor noch? - scheinbar muss man Regex anpassen

Muss revidieren: scheinen tatsächlich nicht mehr alle RegEx zu passen (Seite umgebaut? Die Daten gibt es [so] nicht mehr?)

Einige Readings werden aktialisiert (vornehmlich Datum/Uhrzeit des "Vorcasts", daher ist mir das auch nicht gleich aufgefallen)...
Die wichtigen aber wohl eben nicht :-\

Evtl. kann ich mir das mal anschauen, bin aber nicht sicher, ob ich was finde (RegEx-Legastheniker ;)  )...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Moin,
könnte mir jemand mal eine aktuelle komplette RAW Definition schicken? Auch gerne mit myUltils Funktionen und gerne auch uiTable.
Ich würde mich für die Regenprognose auch interessieren.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Zitat von: ch.eick am 15 August 2022, 09:00:14
Moin,
könnte mir jemand mal eine aktuelle komplette RAW Definition schicken? Auch gerne mit myUltils Funktionen und gerne auch uiTable.
Ich würde mich für die Regenprognose auch interessieren.

VG
   Christian

Kann ich heute Abend machen.
Allerdings noch mit ohne Anpassung ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

#41
Zitat von: MadMax-FHEM am 15 August 2022, 09:06:08
Kann ich heute Abend machen.
Allerdings noch mit ohne Anpassung ;)

Gruß, Joachim
Hallo Joachim,
danke für die Rückmeldung, dann mach doch einfach mit mit Anpassung und ich warte halt noch etwas. Zu tun gibt es ja noch genug ;-)
Ich habe ja keine Markiese und würde das aber gerne in meine PV Leistungsprognose mit rein nehmen.

Für Rollos habe ich über wunderground auch schon einen virtuellen Brightness Sensor erstellt. Das läuft echt super und
bedient sich dreier umliegenden Messstationen für die aktuelle Radiation und UV Index Werte.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Jamo

Bei mir läuft das hier seit über einem Jahr reibungslos:defmod WetterCom HTTPMOD https://www.wetter.com/deutschland/berlin/prenzlauer-berg/DE0001020372.html
attr WetterCom alignTime 00:01:30
attr WetterCom event-on-change-reading rainData
attr WetterCom reading01Name AnsageKurz
attr WetterCom reading01Regex <span id="nowcast-text" class="portable-mb--">\W*(.*)
attr WetterCom reading02Name date
attr WetterCom reading02Regex <div.class=\"\[.forecast-navigation-grid.\]\"\X*?\"Wettervorhersage.für.den.(.*?).\"
attr WetterCom reading03Name rainData
attr WetterCom reading03Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr WetterCom reading07-1Name color-01
attr WetterCom reading07-2Name color-02
attr WetterCom reading07-3Name color-03
attr WetterCom reading07-4Name color-04
attr WetterCom reading07-5Name color-05
attr WetterCom reading07-6Name color-06
attr WetterCom reading07-7Name color-07
attr WetterCom reading07-8Name color-08
attr WetterCom reading07-9Name color-09
attr WetterCom reading07Name color
attr WetterCom reading07RegOpt g
attr WetterCom reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".style=\"background.color.(.*?)\;;\"><\/td>
attr WetterCom reading08Name time
attr WetterCom reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<
attr WetterCom room Weather
attr WetterCom stateFormat date time Regen aktuell: Status Regen 2h: Status2h Text: rainData
attr WetterCom timeout 5
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

MadMax-FHEM

#43
@Jamo: vielen Dank! :)

Mit deinen RegExen habe ich mein Zeugs auch wieder hinbekommen :)

Naja fast: Bewölkung fehlt noch... :-\

Zitat
UNMATCHED_READINGS wolken

EDIT: das sollte sowas rauskommen "0/8 wolkenlos" usw.

Aber dazu habe ich heute keine Lust mehr...

Hier mal meine RawDef inkl. der Sub für userReadings: zusätzliche Readings für Regenvorhersage ausgehend von den "Farben" umgesetzt in Regenmenge / als Text und als Nummer -> autom. Auswertung)...


defmod wetter_com_NiederschlagFuerthInnenstadt HTTPMOD https://www.wetter.com/deutschland/fuerth-innenstadt/DE0002804012.html 600
attr wetter_com_NiederschlagFuerthInnenstadt userattr my_HighRainLimit my_LowRainLimit my_MediumRainLimit my_NoRainLimit
attr wetter_com_NiederschlagFuerthInnenstadt alias Niederschlag-Prognose Wetter.com
attr wetter_com_NiederschlagFuerthInnenstadt group Wetter
attr wetter_com_NiederschlagFuerthInnenstadt icon weather_rain_snow_heavy
attr wetter_com_NiederschlagFuerthInnenstadt my_HighRainLimit 10
attr wetter_com_NiederschlagFuerthInnenstadt my_LowRainLimit 3
attr wetter_com_NiederschlagFuerthInnenstadt my_MediumRainLimit 6
attr wetter_com_NiederschlagFuerthInnenstadt my_NoRainLimit 0.5
attr wetter_com_NiederschlagFuerthInnenstadt reading01Name regen
attr wetter_com_NiederschlagFuerthInnenstadt reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr wetter_com_NiederschlagFuerthInnenstadt reading02Name date
attr wetter_com_NiederschlagFuerthInnenstadt reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
attr wetter_com_NiederschlagFuerthInnenstadt reading03Name wolken
attr wetter_com_NiederschlagFuerthInnenstadt reading03OMap wolkenlos:0/8 wolkenlos,sonnig:1/8 sonnig,heiter:2/8 heiter,leicht bew\u00f6lkt:3/8 leicht bewölkt,wolkig:4/8 wolkig,bew\u00f6lkt:5/8 bewölkt,stark bew\u00f6lkt:6/8 stark bewölkt,fast bedeckt:7/8 fast bedeckt,bedeckt:8/8 bedeckt
attr wetter_com_NiederschlagFuerthInnenstadt reading03Regex <div.id..rtw_cnt..data-rtw..*..quot.*shortText.quot...quot.(.*).quot...quot.*longText.*quot
attr wetter_com_NiederschlagFuerthInnenstadt reading07Name time
attr wetter_com_NiederschlagFuerthInnenstadt reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<
attr wetter_com_NiederschlagFuerthInnenstadt reading08-1Name feld-01
attr wetter_com_NiederschlagFuerthInnenstadt reading08-2Name feld-02
attr wetter_com_NiederschlagFuerthInnenstadt reading08-3Name feld-03
attr wetter_com_NiederschlagFuerthInnenstadt reading08-4Name feld-04
attr wetter_com_NiederschlagFuerthInnenstadt reading08-5Name feld-05
attr wetter_com_NiederschlagFuerthInnenstadt reading08-6Name feld-06
attr wetter_com_NiederschlagFuerthInnenstadt reading08-7Name feld-07
attr wetter_com_NiederschlagFuerthInnenstadt reading08-8Name feld-08
attr wetter_com_NiederschlagFuerthInnenstadt reading08-9Name feld-09
attr wetter_com_NiederschlagFuerthInnenstadt reading08Name feld
attr wetter_com_NiederschlagFuerthInnenstadt reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr wetter_com_NiederschlagFuerthInnenstadt reading08RegOpt g
attr wetter_com_NiederschlagFuerthInnenstadt reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".style=\"background.color.(.*?)\;;\"><\/td>
attr wetter_com_NiederschlagFuerthInnenstadt room Balkon,Overview,Overview Ambient,Overview Weather
attr wetter_com_NiederschlagFuerthInnenstadt showBody 0
attr wetter_com_NiederschlagFuerthInnenstadt showError 1
attr wetter_com_NiederschlagFuerthInnenstadt showMatched 1
attr wetter_com_NiederschlagFuerthInnenstadt sortby 02
attr wetter_com_NiederschlagFuerthInnenstadt stateFormat date time\
</br>Bewölkung: wolken\
</br>Aktuell: Status\
</br>In 1h: Status1h\
</br>In 2h: Status2h\
</br>regen
attr wetter_com_NiederschlagFuerthInnenstadt userReadings Status:feld-01.* {my_userReadingsWetterCom("$name", 1, 7, "txt")},\
Status1h:feld-01.* {my_userReadingsWetterCom("$name", 8, 15, "txt")},\
Status2h:feld-01.* {my_userReadingsWetterCom("$name", 16, 21, "txt")},\
Status_num:feld-01.* {my_userReadingsWetterCom("$name", 1, 7, "num")},\
Status1h_num:feld-01.* {my_userReadingsWetterCom("$name", 8, 15, "num")},\
Status2h_num:feld-01.* {my_userReadingsWetterCom("$name", 16, 21, "num")}
attr wetter_com_NiederschlagFuerthInnenstadt verbose 0



sub my_userReadingsWetterCom($$$$)
{
  my ($Device, $Start, $End, $Mode) = @_;
  my $LoopStart = $Start;
  my $ReturnTxt = "kein Niederschlag";
  my $ReturnNum = 0;
  my $RainVolume = 0;
  my $RainVolumeAvg = 0;
  my $FieldNum = "01";
  my $NoRainLimit = AttrVal($Device, "my_NoRainLimit", 0);
  my $LowRainLimit = AttrVal($Device, "my_LowRainLimit", 2);
  my $MediumRainLimit = AttrVal($Device, "my_MediumRainLimit", 5);
  my $HighRainLimit = AttrVal($Device, "my_HighRainLimit", 10);
 
#  Log3(undef, 1, "my_userReadingsWetterCom    Start: $Start      End: $End");

  while($LoopStart <= $End)
  {
    $FieldNum = sprintf("%02u", $LoopStart);
#    Log3(undef, 1, "my_userReadingsWetterCom    Start: $LoopStart      FieldNum: $FieldNum");
    $RainVolume += ReadingsNum($Device,"feld-$FieldNum",0);
    $LoopStart++;
  }
  $RainVolumeAvg = $RainVolume / ($End - $Start);
#  Log3(undef, 1, "my_userReadingsWetterCom    RainVolume: $RainVolume      RainVolumeAvg: $RainVolumeAvg     NoRainLimit: $NoRainLimit     LowRainLimit: $LowRainLimit    MediumRainLimit: $MediumRainLimit    HighRainLimit: $HighRainLimit");
 
  if($RainVolumeAvg > $HighRainLimit)
  {
    $ReturnTxt = "sehr starker Niederschlag";
    $ReturnNum = 5;
#    Log3(undef, 1, "my_userReadingsWetterCom    Sehr starker Niederschlag     ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > $MediumRainLimit)
  {
    $ReturnTxt = "starker Niederschlag";
    $ReturnNum = 4;
#    Log3(undef, 1, "my_userReadingsWetterCom    Starker Niederschlag     ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > $LowRainLimit)
  {
    $ReturnTxt = "Niederschlag";
    $ReturnNum = 3;
#    Log3(undef, 1, "my_userReadingsWetterCom    Niederschlag      ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > $NoRainLimit)
  {
    $ReturnTxt = "leichter Niederschlag";
    $ReturnNum = 2;
#    Log3(undef, 1, "my_userReadingsWetterCom    Leichter Niederschlag      ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > 0)
  {
    $ReturnTxt = "Nieseln";
    $ReturnNum = 1;
  }

  if($Mode eq "txt")
  {
    return $ReturnTxt;
  }
  else
  {
    return $ReturnNum;
  }
}


EDIT: über userReadings umgesetzte "Vorhersage" kann entweder im Code angepasst werden (also ab wann nieseln, leichter Regen, Regen, starker Regen usw.) oder über folgende Attribute
Zitat
  my $NoRainLimit = AttrVal($Device, "my_NoRainLimit", 0);
  my $LowRainLimit = AttrVal($Device, "my_LowRainLimit", 2);
  my $MediumRainLimit = AttrVal($Device, "my_MediumRainLimit", 5);
  my $HighRainLimit = AttrVal($Device, "my_HighRainLimit", 10);
Diese müssen nat. vorher als userattr angelegt worden sein...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Als aller erstes mal vielen Dank für die tolle Vorarbeit.

Zitat von: MadMax-FHEM am 15 August 2022, 20:51:43
Mit deinen RegExen habe ich mein Zeugs auch wieder hinbekommen :)

Naja fast: Bewölkung fehlt noch... :-\

EDIT: das sollte sowas rauskommen "0/8 wolkenlos" usw.

Aber dazu habe ich heute keine Lust mehr...

Hier mal meine RawDef inkl. der Sub für userReadings: zusätzliche Readings für Regenvorhersage ausgehend von den "Farben" umgesetzt in Regenmenge / als Text und als Nummer -> autom. Auswertung)...

EDIT: über userReadings umgesetzte "Vorhersage" kann entweder im Code angepasst werden (also ab wann nieseln, leichter Regen, Regen, starker Regen usw.) oder über folgende AttributeDiese müssen nat. vorher als userattr angelegt worden sein...

Gruß, Joachim

Hallo Joachim,
vielen Dank für das Update, ich bin dann jetzt auch eingestiegen :-)

In den myUtils verwende ich für das Logging gerne folgendes, was dann auf den verbose Level des Devices reagiert.

     my $verbose = AttrVal($Device,"verbose",0) ;

     if ($verbose >= 3) { Log 3, "SpeicherMidday_Inverter_Max_Power manuell gesetzt" } ;

Dadurch kannst Du auch auf verschiedene Level mit unterschiedlich vielen Messages reagieren.

Kann ich bei der Bewölkung noch irgendwie helfen?

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Das mit dem Logging könnte/sollte auch anders gehen (habe ich aber noch nicht getestet): https://forum.fhem.de/index.php?topic=14341.0

Weil laut dem ist aktuell statt Log eben Log3 "zu verwenden" ;)

Daher sollte eigentlich:


Log3($Device, 3, "Text")


Automatisch klappen, also wenn verbose 3 oder höher, dann wird das ausgegeben, ansonsten nicht.
Man kann die Ausgaben auch erst ab verbose 4 loggen:


Log3($Device, 4, "Text")


Zumindest verstehe ich das so.

Da ich aber nicht immer in meinen myUtils das $Device habe, habe ich einfach feste Logausgaben drin.
Manche werden dann nach erfolgreichem Test einfach auskommentiert, andere bleiben (wenn die nicht zu häufig passieren oder mir wichtig sind)...


Bzgl. Bewölkung, naja, wenn du mir die jetzt passende RegEx nennst :)

Ansonsten muss ich halt mal sehen, ob ich rausfinde was sich geändert hat, wobei ich das auch nur "geklaut" habe.
Ich habe ja "nur" die userReadings dazu geliefert 8)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

#46
Zitat von: MadMax-FHEM am 16 August 2022, 11:37:55
Bzgl. Bewölkung, naja, wenn du mir die jetzt passende RegEx nennst :)

Ansonsten muss ich halt mal sehen, ob ich rausfinde was sich geändert hat, wobei ich das auch nur "geklaut" habe.
Ich habe ja "nur" die userReadings dazu geliefert 8)
Hallo Joachim,

hier als Ergänzung die Bewölkung und ein Vorschlag für die Regen Benennung.

attr Niederschlag reading08-1Name Regen-01
attr Niederschlag reading08-2Name Regen-02
attr Niederschlag reading08-3Name Regen-03
attr Niederschlag reading08-4Name Regen-04
attr Niederschlag reading08-5Name Regen-05
attr Niederschlag reading08-6Name Regen-06
attr Niederschlag reading08-7Name Regen-07
attr Niederschlag reading08-8Name Regen-08
attr Niederschlag reading08-9Name Regen-09
attr Niederschlag reading08Name Regen
attr Niederschlag reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr Niederschlag reading08RegOpt g
attr Niederschlag reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".style=\"background.color.(.*?)\;;\"><\/td>
attr Niederschlag reading09-1Name Wolken-01
attr Niederschlag reading09-2Name Wolken-02
attr Niederschlag reading09-3Name Wolken-03
attr Niederschlag reading09-4Name Wolken-04
attr Niederschlag reading09-5Name Wolken-05
attr Niederschlag reading09-6Name Wolken-06
attr Niederschlag reading09-7Name Wolken-07
attr Niederschlag reading09-8Name Wolken-08
attr Niederschlag reading09-9Name Wolken-09
attr Niederschlag reading09Name Wolken
attr Niederschlag reading09OMap #FFFFFF:0/8 wolkenlos,#EFEFEF:1/8 sonnig,#DFDFDF:2/8 heiter,#CFCFCF:3/8 leicht bewölkt,#BFBFBF:4/8 wolkig,#ADADAD:5/8 bewölkt,#A0A0A0:6/8 stark bewölkt,#8F8F8F:7/8 fast bedeckt,#808080:8/8 bedeckt
attr Niederschlag reading09RegOpt g
attr Niederschlag reading09Regex <td.class=\"text..small text..center tdbl tdbr.*\">\n.*\n.*style=\"background-color:.(.*?)\">

Bei der Bewölkung könnte man auch direkt auf die n/n gehen und somit das Farben Mapping vermeiden.
Als Rückmeldung kommt dann 0/8 , 1/8 , 2/8 , ...

<td.class=\"text..small text..center tdbl tdbr.*\">\n.*(\d\/\d)\n


Bei der Benennung der readings bin ich noch nicht so ganz zufrieden, da z.B. Wolken-01 wohl immer die aktuelle Stunde zum Abfragezeitpunkt ist.
Somit kann man das nicht so einfach aus einer Subroutine heraus mit einer Abfrage zu einer festen Zeit abrufen.
Das wird dann wohl auch der Grund für die Funktion in der myUtils sein. Das schau ich mir nochmal genauer an.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

#47
Hallo Christian,

muss ich mir mal anschauen.

Das mit Regenbenennung habe ich nicht verstanden.

Bzw. so wie ich den (meinen) Original-Code verstehe: es werden die Regenfelder ausgelesen, also die Farbwerte (daher wohl auch der Name feld-01...). Dieser Name ist (mir) egal.
Es passiert dann per Mapping eine Anpassung von Farbnummer zu Regenmenge, die steht dann in dern Readings feld-01...feld-022.

Die userReadings von mir triggern auf das feld-01 (was ja auch immer geändeet wird, sobald neue Daten kommen?).
Dann habe ich einfach geschaut wie viele Felder so eine Stunde sind und rufe damit die Sub auf.
Zurück kommt dann über eine "Mittlungsfunktion" ob eben Regen und wenn wie stark als text bzw. als Zahl (zur evtl. autom, Auswertung).

Der Sub übergibt man das Device (damit man die Werte für die Regenmittlung auslesen kann) und die Start-Feld-Nummer und die End-Feld-Nummer -> über diese Werte wird gemittelt und dann abhängig von entweder den Attributen oder eben der fixen Vorgaben im Code die Regenstärke "ermittelt" und entweder als Text (Mode: txt) zurückgegeben, damit dann lesbar oder als Zahl (num), damit man das auch automatisch auswerten kann/könnte (habe ich mir mal gedacht nutze ich aber noch nicht ;) )...

Es gibt dann eben neue Readings wo textuell und per Zahl die zu erwartende Regenmenge steht für aktuell, 1h und 2h (man kann sicher auch weiter gehen, einfach weitere Feld-Nummern usw.).


Bislang wurde die Bewölkung ja direkt als X/Y ausgelesen, leider funktioniert das RegEx nicht mehr.
Ich schaue mir deines mal an...
Brauche halt nur mal wieder Zeit...

EDIT: also doch mal schnell reingeklopft... Funktioniert wieder :) DANKE!

Hier das aktuelle RawDef (inkl. dem Mapping von X/Y -> wolkig etc.):

defmod wetter_com_NiederschlagFuerthInnenstadt HTTPMOD https://www.wetter.com/deutschland/fuerth-innenstadt/DE0002804012.html 600
attr wetter_com_NiederschlagFuerthInnenstadt userattr my_HighRainLimit my_LowRainLimit my_MediumRainLimit my_NoRainLimit
attr wetter_com_NiederschlagFuerthInnenstadt alias Niederschlag-Prognose Wetter.com
attr wetter_com_NiederschlagFuerthInnenstadt group Wetter
attr wetter_com_NiederschlagFuerthInnenstadt icon weather_rain_snow_heavy
attr wetter_com_NiederschlagFuerthInnenstadt my_HighRainLimit 10
attr wetter_com_NiederschlagFuerthInnenstadt my_LowRainLimit 3
attr wetter_com_NiederschlagFuerthInnenstadt my_MediumRainLimit 6
attr wetter_com_NiederschlagFuerthInnenstadt my_NoRainLimit 0.5
attr wetter_com_NiederschlagFuerthInnenstadt reading01Name regen
attr wetter_com_NiederschlagFuerthInnenstadt reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr wetter_com_NiederschlagFuerthInnenstadt reading02Name date
attr wetter_com_NiederschlagFuerthInnenstadt reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
attr wetter_com_NiederschlagFuerthInnenstadt reading03Name wolken
attr wetter_com_NiederschlagFuerthInnenstadt reading03OMap 0/8:wolkenlos 1/8:wolkenlos,sonnig 2/8:sonnig,heiter 3/8:heiter,leicht bew\u00f6lkt 4/8:leicht bewölkt,wolkig 5/8:wolkig,bew\u00f6lkt 6/8:bewölkt,stark bew\u00f6lkt 7/8:stark bewölkt,fast bedeckt 8/8:bedeckt
attr wetter_com_NiederschlagFuerthInnenstadt reading03Regex <td.class=\"text..small text..center tdbl tdbr.*\">\n.*(\d\/\d)\n
attr wetter_com_NiederschlagFuerthInnenstadt reading07Name time
attr wetter_com_NiederschlagFuerthInnenstadt reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<
attr wetter_com_NiederschlagFuerthInnenstadt reading08-1Name feld-01
attr wetter_com_NiederschlagFuerthInnenstadt reading08-2Name feld-02
attr wetter_com_NiederschlagFuerthInnenstadt reading08-3Name feld-03
attr wetter_com_NiederschlagFuerthInnenstadt reading08-4Name feld-04
attr wetter_com_NiederschlagFuerthInnenstadt reading08-5Name feld-05
attr wetter_com_NiederschlagFuerthInnenstadt reading08-6Name feld-06
attr wetter_com_NiederschlagFuerthInnenstadt reading08-7Name feld-07
attr wetter_com_NiederschlagFuerthInnenstadt reading08-8Name feld-08
attr wetter_com_NiederschlagFuerthInnenstadt reading08-9Name feld-09
attr wetter_com_NiederschlagFuerthInnenstadt reading08Name feld
attr wetter_com_NiederschlagFuerthInnenstadt reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr wetter_com_NiederschlagFuerthInnenstadt reading08RegOpt g
attr wetter_com_NiederschlagFuerthInnenstadt reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".style=\"background.color.(.*?)\;;\"><\/td>
attr wetter_com_NiederschlagFuerthInnenstadt room Balkon,Overview,Overview Ambient,Overview Weather
attr wetter_com_NiederschlagFuerthInnenstadt showBody 0
attr wetter_com_NiederschlagFuerthInnenstadt showError 1
attr wetter_com_NiederschlagFuerthInnenstadt showMatched 1
attr wetter_com_NiederschlagFuerthInnenstadt sortby 02
attr wetter_com_NiederschlagFuerthInnenstadt stateFormat date time\
</br>Bewölkung: wolken\
</br>Aktuell: Status\
</br>In 1h: Status1h\
</br>In 2h: Status2h\
</br>regen
attr wetter_com_NiederschlagFuerthInnenstadt timeout 5
attr wetter_com_NiederschlagFuerthInnenstadt userReadings Status:feld-01.* {my_userReadingsWetterCom("$name", 1, 7, "txt")},\
Status1h:feld-01.* {my_userReadingsWetterCom("$name", 8, 15, "txt")},\
Status2h:feld-01.* {my_userReadingsWetterCom("$name", 16, 21, "txt")},\
Status_num:feld-01.* {my_userReadingsWetterCom("$name", 1, 7, "num")},\
Status1h_num:feld-01.* {my_userReadingsWetterCom("$name", 8, 15, "num")},\
Status2h_num:feld-01.* {my_userReadingsWetterCom("$name", 16, 21, "num")}
attr wetter_com_NiederschlagFuerthInnenstadt verbose 0


Sieht bei mir in der Übersicht inkl. userReadings und stateFormat wie abgebildet aus...

Also für mich funktioniert es nun wieder so wie früher :)
Ich werde mal überlegen, wie ich das mache, dass ich auf ein NO_MATCH reagiere. notify und dann Aktion oder ein userReadings, das dann anzeigt, dass die Werte nicht "glaubwürdig" sind... Mal sehen. Dachte ja auch die ganze Zeit es würde noch funktionieren und hat es seit einigen Tagen doch nur teilweise/bedingt...

EDIT: noch nicht ganz. Beim Mapping von Wolken muss ich wohl noch mal ran. Aber habe das "damals" halt auch nur "geklaut" und jetzt schnell versucht anzupassen (war wohl zu spät gestern ;) ). Ich muss mir das noch mal anschauen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

#48
Hallo Joachim,

Zitat von: MadMax-FHEM am 16 August 2022, 23:26:34
Das mit Regenbenennung habe ich nicht verstanden.
Das bezieht sich halt auf feld*, was mit Regen* sprechender wäre.

Zitat
Bislang wurde die Bewölkung ja direkt als X/Y ausgelesen, leider funktioniert das RegEx nicht mehr.

EDIT: also doch mal schnell reingeklopft... Funktioniert wieder :) DANKE!
Bei der Bewölkung liest Du nur das aktuellste Feld aus, jedoch gibt es da ebenfalls 24 Felder, also eins pro Stunde.
Deshalb wäre das mit den reading Namen ebenfalls übersichtlicher. In meinem Beispiel kommt dann pro Stunde die Bewölkung.

Bei der Bewölkung kommt auch direkt der Zahlenwert, dann könnte man das OMAP etwas sprechender gestalten,
also anstatt auf #FFFFFFF direkt auf 0/8 mappen.

Du hast da noch etwas durcheinander in Deinem OMAP, hierr mal das korrigierte attr

attr Niederschlag reading03OMap 0/8:wolkenlos, 1/8:sonnig, 2/8:heiter, 3/8:leicht bewölkt, 4/8:wolkig, 5/8:bewölkt, 6/8:stark bewölkt, 7/8:fast bedeckt, 8/8:bedeckt


Ich meine das wäre beim Regen genau so, aber bisher hat es noch nicht geregnet.

Zitat
Die userReadings von mir triggern auf das feld-01 (was ja auch immer geändeet wird, sobald neue Daten kommen?).
Dann habe ich einfach geschaut wie viele Felder so eine Stunde sind und rufe damit die Sub auf.
Zurück kommt dann über eine "Mittlungsfunktion" ob eben Regen und wenn wie stark als text bzw. als Zahl (zur evtl. autom, Auswertung).

Der Sub übergibt man das Device (damit man die Werte für die Regenmittlung auslesen kann) und die Start-Feld-Nummer und die End-Feld-Nummer -> über diese Werte wird gemittelt und dann abhängig von entweder den Attributen oder eben der fixen Vorgaben im Code die Regenstärke "ermittelt" und entweder als Text (Mode: txt) zurückgegeben, damit dann lesbar oder als Zahl (num), damit man das auch automatisch auswerten kann/könnte (habe ich mir mal gedacht nutze ich aber noch nicht ;) )...

Es gibt dann eben neue Readings wo textuell und per Zahl die zu erwartende Regenmenge steht für aktuell, 1h und 2h (man kann sicher auch weiter gehen, einfach weitere Feld-Nummern usw.).
Das mit der Mittlung kommt mir etwas komisch vor, da Du über mehrere Stunden mittels. Es kommt pro Stunde eine Prognose zurück und Du fasst z.B. 1-7 zusammen.
Wie ist denn die Qualität dieser Zusammenfassung?
Passt die Aussage dann besser?
Ich persönlich mag ja den empirischen Ansatz, wenn es der Realität näher kommt :-)

EDIT: Ich habe mir die wetter.com Seite im Browser nochmal angeschaut und dort gesehen, dass es für Regen noch eine detailiertere Darstellung gibt.
   Das Parsen scheint dann diesen Bereich zu nehmen, was dann mit der Durchschnittsbildung und 1h bzw. 2h besser passen würde. Das müssten dann auch 23 Felder sein. (Bild 1)
   Die Regenmengen, die gemeint habe findet man unter Diagramm|Niederschlagsmengen (Bild 2)
   Im DWD Modul werden ja ebenfalls R101 Werte geliefert, die jedoch als Warscheinlichkeiten in % angegeben werden.

   Nun stellt sich die Frage, welcher Wetterdienst liegt mit seiner Prognose besser. Gibt es da von Wetter.com schon eine getestete Aussage?

EDIT 09:55
   Die Prognose sagt
Zitat
Regen-01   < 1.9 l/m²/h  2022-08-17 09:53:13
Und tatsächlich, es nieselt etwas :-)

  Durch die RainLimit Schwellwerte und die Durchschnittsbildung wird die Aussage "In 1h: kein Niederschlag" generiert. Dies finde ich vollkommen okay und
  man hat noch etwas die Möglichkeit einer "gefühlten" Einstellung.


VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

#49
Hallo Christian,

naja wie geschrieben (oder auch nicht ;)  ) nutze ich das mehr als "Spielerei".

Für zuverlässig und Markise habe ich einen Regensensor :)

EDIT: ich sass auch schon oft draussen und es sollte regnen, blieb aber trocken / umgekehrt genauso ;)

Ja, eigentlich sollte (und tut er bei mir auch wieder) die feinere Übersicht mit mehreren Werten pro Stunde.
Ich habe einfach mal geschätzt bei der Übergabe der Parameter der userReadings ;)

Aber man hat ja diverse Freiheitsgrade: Start/Ende, also wie viele Felder sollen gemittelt werden und was als ReadingText/Name angegeben wird, also 1h 2h usw. Man kann ja (theoretisch) "beliebig" viele userReadings (mit derselben Sub 8) ) anlegen lassen und so fein machen wie man möchte. Dann gibt es ja noch (die aktuell ungenutzen) Attribute oder eben im Code der Sub was (also welche "Mittel-Menge") denn nun Regen bzw. wie viel Regen bedeutet...

Da kann sich ja jeder selber "austoben" und müsste noch nicht mal die Sub anpassen :)


Ja, das "Durcheinander" beim Mapping habe ich gestern noch bemerkt oder war es heute morgen? Aber war wohl zu spät ;)

Gut, ob das nun Regen oder feld heißt ;)

Ich werde wohl (erst mal) auf feld bleiben...
...aber es ist ja nicht umsonst hier eingestellt: da darf jeder gerne machen was ihm hilft/gefällt...

EDIT: hmm, ob nun direkt auf die Regenmengen oder über die Farbtafeln. Ist mir eigentlich egal ;) :D Hauptsache es funktioniert 8) Aber wenn der "Umbau" besser ist oder einfacher oder einfach nur da ist und ich Zeit/Lust habe, nehme ich gerne alles ;) Aber da es ja mehr "Spielerei" als wirklich ernste Wettervorhersage (ich habe auf meiner Wetterübersicht mehrere, also nicht nur das / Aber es ist halt schön, übersichtlich und auch sehr "regional", wenn auch nicht immer 100%ig stimmig ;)  )...

Danke noch mal!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Hey,
die Regionalität wäre genau das was ich suche und zwei Stunden wäre auch recht gut.

Ich suche noch nach einer zuverlässigeren Regen warnung für den aktuellen Tag, damit ich die Leistungsprognose der PV Anlage noch verbessern kann.
Bei tatsächlichem Regen kommt es da zu stärkeren Leistungseinbrüchen :-) und manchmal habe ich MaxSOC für den Speicher limitiert, was ich dann bei
Regenprognose einfach raus nehmen würde, um vor dem regen noch den Speicher mehr zu füllen.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

#51
Regionalität hängt wohl von der Region ab ;)

Bei mir ist es schon sehr "eng", weil es gibt Fürth Innenstadt und Fürth Umland usw. also schon recht überschaubar...

Wie geschrieben stimmt Regen nur bedingt, Bewölkung passt recht gut (mein pers. Eindruck).

Was es noch gibt ist das "Abgreifen" von Wetterstationen in der Umgebung...
...ok gab (außer man hat selber eine Station oder/und einen Key): https://wiki.fhem.de/wiki/Wetter_und_Wettervorhersagen#Wetter_von_Weather_Underground

https://forum.fhem.de/index.php?topic=102497.0 Buienradar soll noch recht gut sein, weiß aber nicht wie (gut/wo) das für Deutschland geht...

EDIT:
Oder einfach sowas basteln ;) : https://forum.fhem.de/index.php/topic,121629.msg1163265.html#msg1163265
Ist aber nur zuverlässig für Regenbeginn. Regenende, da ohne Heizung, eben je nach Wetter/Wärme (Sonne) eher später als tatsächlich...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

#52
EDIT 20220818 15:50: Jetzt auch mit WindGeschwindigkeit und Version im comment
EDIT 20220818 13:00: Die erweiterte Sub hat noch gefehlt. Ich habe es weiter unten noch eingefügt

Zitat von: MadMax-FHEM am 17 August 2022, 13:17:44
Regionalität hängt wohl von der Region ab ;)

Bei mir ist es schon sehr "eng", weil es gibt Fürth Innenstadt und Fürth Umland usw. also schon recht überschaubar...

Wie geschrieben stimmt Regen nur bedingt, Bewölkung passt recht gut (mein pers. Eindruck).
Wenn man auf die Webseite geht, ist die Aktualisierung schon ziemlich gut, das scheint wirklich nach dem Wetter RADAR zu gehen.

Hier kommt mal meine überarbeitete Version:
- Deine Abfrage geht auf ein 5 Minuten Raster und Du bildest den Durchschnitt über eine wählbare Anzahl dieser 5 Minuten Blöcke.
- Ich habe den Niederschlag noch als Prognose für 24 h (rollierend) mit rein genommen
- Die Bewölkung geht auch über 24 h (rollierend)
- Die Passende Startzeit für *-NN habe ich noch nicht drin, damit man das in einer Sub berücksichtigen kann
- Durch reading*AutoNumLen 2 kann man sich einige Attribute für die Namen sparen
- Durch reading*DeleteIfUnmatched 1 dürfte das Problem gelöst sein, wenn sich mal der Seitencode ändert. Es werden dann unmatched Readings gelöscht.
- Das OMAP ist nochmal korrigiert
- Die Regex sind ebenfalls korrigiert und gehen jetzt exakter auf die Zahlen, auch mit Nachkommastellen
- Mit einem get kann man manuell seine Standorte abfragen
- Wenn man das Interval 600 auf 0 setzt kann man mit dem get auch die Abfrage mit anderen Devices synchronisieren
- Achtung auch die event-on* sind noch dazu gekommen, damit es nicht so viele Events gibt.
- Bei der Sub gibt es auch einen Parameter mehr, damit man die reading Namen mit übergeben kann

defmod Niederschlag HTTPMOD https://www.wetter.com/deutschland/< hier noch Deinen Standort eingeben >.html 600
attr Niederschlag userattr my_HighRainLimit my_LowRainLimit my_MediumRainLimit my_NoRainLimit
attr Niederschlag DbLogExclude .*
attr Niederschlag alias Niederschlag-Prognose Wetter.com
attr Niederschlag comment Version: 20220818 15:50
attr Niederschlag event-on-change-reading Regen5M_.*, Status.*
attr Niederschlag event-on-update-reading Regen5M-01
attr Niederschlag get01Name < hier noch Deinen Standort als Namen eingeben >
attr Niederschlag get01URL https://www.wetter.com/deutschland/< hier noch Deinen Standort eingeben >.html
attr Niederschlag icon weather_rain_snow_heavy
attr Niederschlag my_HighRainLimit 10
attr Niederschlag my_LowRainLimit 3
attr Niederschlag my_MediumRainLimit 6
attr Niederschlag my_NoRainLimit 0.5
attr Niederschlag reading01Name Regen5M_Text
attr Niederschlag reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
attr Niederschlag reading02Name Regen5M_Date
attr Niederschlag reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
attr Niederschlag reading03Name Wolken_akt
attr Niederschlag reading03OMap 0/8:wolkenlos, 1/8:sonnig, 2/8:heiter, 3/8:leicht bewölkt, 4/8:wolkig, 5/8:bewölkt, 6/8:stark bewölkt, 7/8:fast bedeckt, 8/8:bedeckt
attr Niederschlag reading03Regex <td.class=\"text..small text..center tdbl tdbr.*\">\n.*(\d\/\d)\n
attr Niederschlag reading07Name Regen5M_Time
attr Niederschlag reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<
attr Niederschlag reading08AutoNumLen 2
attr Niederschlag reading08DeleteIfUnmatched 1
attr Niederschlag reading08Name Regen5M
attr Niederschlag reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr Niederschlag reading08RegOpt g
attr Niederschlag reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".style=\"background.color.(.*?)\;;\"><\/td>
attr Niederschlag reading09AutoNumLen 2
attr Niederschlag reading09DeleteIfUnmatched 1
attr Niederschlag reading09Name Niederschlagsmenge
attr Niederschlag reading09RegOpt g
attr Niederschlag reading09Regex <td.class=\"text..small text..center.tdbl.tdbr.h70\">\n.* ([0-9]{1,}.*[0-9]{0,2})\n.*<div.class=\"bg..blue.dark\"
attr Niederschlag reading10AutoNumLen 2
attr Niederschlag reading10DeleteIfUnmatched 1
attr Niederschlag reading10Name Wolken
attr Niederschlag reading10OMap 0/8:0/8 wolkenlos, 1/8:1/8 sonnig, 2/8:2/8 heiter, 3/8:3/8 leicht bewölkt, 4/8:4/8 wolkig, 5/8:5/8 bewölkt, 6/8:6/8 stark bewölkt, 7/8:7/8 fast bedeckt, 8/8:8/8 bedeckt
attr Niederschlag reading10RegOpt g
attr Niederschlag reading10Regex <td.class=\"text..small text..center tdbl tdbr.h36\">\n.*(\d\/\d)\n
attr Niederschlag reading11AutoNumLen 2
attr Niederschlag reading11DeleteIfUnmatched 1
attr Niederschlag reading11Name WindGeschwindigkeit
attr Niederschlag reading11RegOpt g
attr Niederschlag reading11Regex <td class="relative text--small text--center tdbl tdbr h70">\n.*\n.* ([0-9]*)
attr Niederschlag room Informationen->Wetter,Rollos
attr Niederschlag showBody 0
attr Niederschlag showError 1
attr Niederschlag showMatched 0
attr Niederschlag sortby 03
attr Niederschlag stateFormat Regen5M_Date Regen5M_Time\
</br>Bewölkung: Wolken_akt\
</br>Aktuell: Status_akt\
</br>In 1h: Status1h\
</br>In 2h: Status2h\
</br>Regen5M_Text
attr Niederschlag userReadings Status_akt:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "txt")},\
Status_akt_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "num")},\
Status1h:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "txt")},\
Status1h_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "num")},\
Status2h:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "txt")},\
Status2h_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "num")}
attr Niederschlag verbose 0

Und hier noch die geänderte Subfunktion

############################################################################################################
#### Niederschlag Prognose

sub my_userReadingsWetterCom($$$$$)
{
  my ($Device, $Name, $Start, $End, $Mode) = @_;
  my $LoopStart = $Start;
  my $ReturnTxt = "kein Niederschlag";
  my $ReturnNum = 0;
  my $RainVolume = 0;
  my $RainVolumeAvg = 0;
  my $FieldNum = "01";
  my $NoRainLimit = AttrVal($Device, "my_NoRainLimit", 0);
  my $LowRainLimit = AttrVal($Device, "my_LowRainLimit", 2);
  my $MediumRainLimit = AttrVal($Device, "my_MediumRainLimit", 5);
  my $HighRainLimit = AttrVal($Device, "my_HighRainLimit", 10);

#  Log3(undef, 1, "my_userReadingsWetterCom    Start: $Start      End: $End");

  while($LoopStart <= $End)
  {
    $FieldNum = sprintf("%02u", $LoopStart);
#    Log3(undef, 1, "my_userReadingsWetterCom    Start: $LoopStart      FieldNum: $FieldNum");
    $RainVolume += ReadingsNum($Device,"$Name-$FieldNum",0);
    $LoopStart++;
  }
  $RainVolumeAvg = $RainVolume / ($End - $Start);
#  Log3(undef, 1, "my_userReadingsWetterCom    RainVolume: $RainVolume      RainVolumeAvg: $RainVolumeAvg     NoRainLimit: $NoRainLimit     LowRainLimit: $LowRainLimit    MediumRainLimit: $MediumRainLimit    HighRainLimit: $HighRainLimit");

  if($RainVolumeAvg > $HighRainLimit)
  {
    $ReturnTxt = "sehr starker Niederschlag";
    $ReturnNum = 5;
#    Log3(undef, 1, "my_userReadingsWetterCom    Sehr starker Niederschlag     ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > $MediumRainLimit)
  {
    $ReturnTxt = "starker Niederschlag";
    $ReturnNum = 4;
#    Log3(undef, 1, "my_userReadingsWetterCom    Starker Niederschlag     ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > $LowRainLimit)
  {
    $ReturnTxt = "Niederschlag";
    $ReturnNum = 3;
#    Log3(undef, 1, "my_userReadingsWetterCom    Niederschlag      ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > $NoRainLimit)
  {
    $ReturnTxt = "leichter Niederschlag";
    $ReturnNum = 2;
#    Log3(undef, 1, "my_userReadingsWetterCom    Leichter Niederschlag      ReturnTxt: $ReturnTxt");
  }
  elsif($RainVolumeAvg > 0)
  {
    $ReturnTxt = "Nieseln";
    $ReturnNum = 1;
  }

  if($Mode eq "txt")
  {
    return $ReturnTxt;
  }
  else
  {
    return $ReturnNum;
  }
};


Jetzt beginnt dann mal das Beobachten, ob die Regenvorhersage rechtzeitig kommt und mit den Leistungseinbrüchen der PV-Anlage zusammen passt.

Zitat
Was es noch gibt ist das "Abgreifen" von Wetterstationen in der Umgebung...
...ok gab (außer man hat selber eine Station oder/und einen Key): https://wiki.fhem.de/wiki/Wetter_und_Wettervorhersagen#Wetter_von_Weather_Underground
Bei wunderground hole ich mir die aktuelle Strahlungsintensität von drei Stationen in meiner Nähe. Dazu habe ich ein DOIF, dass mit die Brightness als Durchschnitt berechnet, auch wenn
mal eine Station ausfallen sollte. Das passt super für die Beschattung mit den Rollos.

Zitat
https://forum.fhem.de/index.php?topic=102497.0 Buienradar soll noch recht gut sein, weiß aber nicht wie (gut/wo) das für Deutschland geht...
Das schau ich mir dann auch mal an

Zitat
EDIT:
Oder einfach sowas basteln ;) : https://forum.fhem.de/index.php/topic,121629.msg1163265.html#msg1163265
Ist aber nur zuverlässig für Regenbeginn. Regenende, da ohne Heizung, eben je nach Wetter/Wärme (Sonne) eher später als tatsächlich...

Ein Regen, der gerade beginnt hilft mir nicht so wirklich weiter, denn dann habe ich keine Zeit mehr den Hausspeicher weiter zu laden :-(
Das ist für mich besonders wichtig, wenn überraschend eine Regenfront rein kommt, denn die ist oft in der Prognose vom DWD nicht erkennbar.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#53
Der zweite Test war heute auch okay, Regen wurde angekündigt und tatsächlich war es auch so :-)
Bei der Leistung der PV-Anlage kann man die Delle ab 9:00 Uhr auch gut sehen.
Das hellgrüne ist die Prognose des DWD basierend auf stündlichen Werten.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

#54
Schön, wenn es (für dich) funktioniert...

Allerdings stimmt es bei mir grad nicht ;)


Do 18.08. 12:15
Bewölkung: stark bewölkt
Aktuell: leichter Niederschlag
In 1h: kein Niederschlag
In 2h: kein Niederschlag


Aber der Regensensor sagt: trocken und auch das Auge erkennt keine Feuchtigkeit ;)

Aber vielleicht kommt es ja noch...
EDIT: der aktuell "angezeigte" Regen ist ja erst in feld-06 und feld-07. Dauert also noch ein paar Minuten bis "jetzt ist" ;)

Ich habe aber noch nicht alle Änderungen übernommen, bin noch auf meinem letzten Stand...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

plin

Hallo Leute,

könnt Ihr bitte mal konstistente Scripte/Definitionen posten (oder diese im 1. Post aktuell halten oder einen Wiki-Artikel anlegen).

Ich habe mit Christians aktueller FHEM-Definition angefangen, sein 'my_userReadingsWetterCom' benötigt aber 5 Parameter. Die Subroutine finde ich nirgendwo.

Ich bin dann auf die Version von Joachim gewechselt, da habe ich zumindest eine passende defmod/sub-Kombi.

Ciao, Peter
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

ch.eick

Zitat von: plin am 18 August 2022, 13:10:49
Hallo Leute,

könnt Ihr bitte mal konstistente Scripte/Definitionen posten (oder diese im 1. Post aktuell halten oder einen Wiki-Artikel anlegen).

Ich habe mit Christians aktueller FHEM-Definition angefangen, sein 'my_userReadingsWetterCom' benötigt aber 5 Parameter. Die Subroutine finde ich nirgendwo.

Ich bin dann auf die Version von Joachim gewechselt, da habe ich zumindest eine passende defmod/sub-Kombi.

Ciao, Peter
Sorry, Peter,
das war mein Fehler, ich habe noch den Readings Namen mit in die Funktion übergeben.
Ich stell es in meinem Post noch rein, da momentan noch Bewegung drin ist. Wenn Joachim meine Änderungen gefallen, dann könnte man es zusammen legen.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Was heißt gefallen ;)

Den Readingnamen mit zu übergeben lässt zumindest die Möglichkeit offen mit anderen Namen zu arbeiten...

Leider weiß ich noch nicht bis wann ich dazu komme die anderen Anpassungen anzusehen (ist ja immer noch "nur" "Spielerei" ;)  und aktuell macht es wie vorher und das reicht[e] mir ja)...
...bzw. muss man das ja nicht von mir abhängig machen.

Die Version von Christian kann doch alles was meine Version auch kann/macht das ja gleich?
Und halt noch mehr :)

Allerdings wird das mit dem ersten Post schwierig, da von dem TE lange nichts mehr kam...
...und man ja keinen fremden Post/Thread bearbeiten kann.

Daher wohl entweder von hier einen neuen Thread mit im ersten Post (immer [wobei was ist schon immer]) aktueller Version und gegenseitig verlinken...
...oder Wiki.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Zitat von: MadMax-FHEM am 18 August 2022, 13:34:46
Was heißt gefallen ;)

Den Readingnamen mit zu übergeben lässt zumindest die Möglichkeit offen mit anderen Namen zu arbeiten...
Ich habe es dann hier um die Sub noch ergänzt.
Achtung auch die event-on* sind noch dazu gekommen, damit es nicht so viele Events gibt. Mit der 5 Minuten Aktualisierung würde man ansonsten überschwemmt werden.
Also bitte einfach mal überlegen, welche Events man benötigt.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

plin

Ich suche gerade den nutzen für mich. Meine Markise interessiert sich nicht nur für Regen, sondern auch für Sturm. Die Windgeschwindigkeit ist bei wetter.com ja auch verfügbar. Dann würde noch ein weiterer Aspekt abgedeckt.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

ch.eick

Zitat von: plin am 18 August 2022, 14:10:30
Ich suche gerade den nutzen für mich. Meine Markise interessiert sich nicht nur für Regen, sondern auch für Sturm. Die Windgeschwindigkeit ist bei wetter.com ja auch verfügbar. Dann würde noch ein weiterer Aspekt abgedeckt.
Wenn Du magst, kann ich den Wind auch noch einbauen....
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

plin

Zitat von: ch.eick am 18 August 2022, 14:38:46
Wenn Du magst, kann ich den Wind auch noch einbauen....

Dieser Thread begann mit den Worten

"Hier soll eine Möglichkeit eines Regensensors vorgestellt werden, der warnt, bevor es regnet.

Wenn eine Markise montiert ist, soll unbedingt vermieden werden, das diese nass wird. Wird ein konventioneller Regensensor montiert, um diese Aufgabe zu übernehmen, hat die Markise schon Regen abbekommen, bevor sie eingefahren wird. Das kann Stockflecken verursachen.
"

Für Markisenbesitzer wären damit direkt beide relevanten Aspekte abgedeckt.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

ch.eick

#62
Zitat von: plin am 18 August 2022, 15:32:14
Dieser Thread begann mit den Worten

"Hier soll eine Möglichkeit eines Regensensors vorgestellt werden, der warnt, bevor es regnet.

Wenn eine Markise montiert ist, soll unbedingt vermieden werden, das diese nass wird. Wird ein konventioneller Regensensor montiert, um diese Aufgabe zu übernehmen, hat die Markise schon Regen abbekommen, bevor sie eingefahren wird. Das kann Stockflecken verursachen.
"

Für Markisenbesitzer wären damit direkt beide relevanten Aspekte abgedeckt.
Hallo Peter,
hier wäre dann noch die WindGeschwindigkeit. Falls noch etwas fehlt könnte ich noch aktiv bleiben, Du hast ja für den Perl Code, den Du mir geschrieben hast, noch was gut :-) :-)


attr Niederschlag reading11AutoNumLen 2
attr Niederschlag reading11DeleteIfUnmatched 1
attr Niederschlag reading11Name WindGeschwindigkeit
attr Niederschlag reading11RegOpt g
attr Niederschlag reading11Regex <td class="relative text--small text--center tdbl tdbr h70">\n.*\n.* ([0-9]*)

Ich nehme es dann auch in mein Beispiel mit auf, denn starker Wind kündigt oft auch Regen an ;-)

Als nächstes wäre dann noch die Uhrzeit der readings wichtig, die man wie beim DWD z.B. mit "fc0_h_WindGeschwindifkeit" umbenennen könnte.
Damit wäre der Zugriff etwas einfacher, da ja nur beim Regen ein 5 Minuten Raster angeboten wird.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

plin

FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Mumpitz

Bei mir werden die Readings irgendwie anders angezeigt. Dadurch wird das StateFormat gar nicht gefüllt. Weiss jemand warum?

Internals:
   BUSY       0
   CFGFN     
   DEF        https://ch.wetter.com/schweiz/tuebach/CH8533198.html 600
   DeleteIfUnmatched 1
   FUUID      62fcf9b5-f33f-3873-84b1-aae552893bbc269a
   Interval   600
   MainURL    https://ch.wetter.com/schweiz/tuebach/CH8533198.html
   ModuleVersion 4.1.12 - 19.4.2022
   NAME       Niederschlag
   NOTIFYDEV  global
   NR         2303
   NTFY_ORDER 50-Niederschlag
   STATE      Do 18.08. Regen5M_Time
</br>Bewölkung: stark bewölkt
</br>Aktuell: Status_akt
</br>In 1h: Status1h
</br>In 2h: Status2h
</br>Regen5M_Text
   TYPE       HTTPMOD
   eventCount 169
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://ch.wetter.com:443
     auth       0
     code       200
     compress   1
     conn       
     data       
     displayurl https://ch.wetter.com/schweiz/tuebach/CH8533198.html
     header     
     host       ch.wetter.com
     httpheader HTTP/1.1 200 OK
Server: CloudFront
Content-Type: text/html; charset=UTF-8
Connection: close
Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Cache-Control: public
Date: Thu, 18 Aug 2022 16:45:57 GMT
Expires: Thu, 18 Aug 2022 16:50:57 GMT
Grace: none
Referrer-Policy: strict-origin-when-cross-origin
X-Backend: blue
X-Cache-Hits: 0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Vary: X-MOBILE-POC,X-CMP-GROUP,X-PWA-GROUP,X-IE-USER,X-CMP-RELOAD,User-Agent,Accept-Encoding
Via: 1.1 a492d514787de63e7daf0f07b0c799fe.cloudfront.net (CloudFront)
Age: 0
X-Bot-Viewer: false
X-Forwarded-Proto: https
X-Cache: Miss from cloudfront
X-Amz-Cf-Pop: MXP64-C1
X-Amz-Cf-Id: rqlzV0fDV2JAqmmhIlReFfRolnFxAAgYSO7dwL61QSQt8EQ7_sZ7BQ==
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /schweiz/tuebach/CH8533198.html
     protocol   https
     redirects  0
     timeout    2
     url        https://ch.wetter.com/schweiz/tuebach/CH8533198.html
     sslargs:
   QUEUE:
   READINGS:
     2022-08-18 08:42:47   LAST_ERROR      read from https://ch.wetter.com:443 timed out
     2022-08-18 18:35:03   LAST_REQUEST    get01
     2022-08-18 18:35:03   MATCHED_READINGS Regen5M_Date Wolken_akt Niederschlagsmenge-01 Niederschlagsmenge-02 Niederschlagsmenge-03 Niederschlagsmenge-04 Niederschlagsmenge-05 Niederschlagsmenge-06 Niederschlagsmenge-07 Niederschlagsmenge-08 Niederschlagsmenge-09 Niederschlagsmenge-10 Niederschlagsmenge-11 Niederschlagsmenge-12 Niederschlagsmenge-13 Niederschlagsmenge-14 Niederschlagsmenge-15 Niederschlagsmenge-16 Niederschlagsmenge-17 Niederschlagsmenge-18 Niederschlagsmenge-19 Niederschlagsmenge-20 Niederschlagsmenge-21 Niederschlagsmenge-22 Niederschlagsmenge-23 Niederschlagsmenge-24 Wolken-01 Wolken-02 Wolken-03 Wolken-04 Wolken-05 Wolken-06 Wolken-07 Wolken-08 Wolken-09 Wolken-10 Wolken-11 Wolken-12 Wolken-13 Wolken-14 Wolken-15 Wolken-16 Wolken-17 Wolken-18 Wolken-19 Wolken-20 Wolken-21 Wolken-22 Wolken-23 Wolken-24
     2022-08-18 18:45:57   Niederschlagsmenge-01 0.76
     2022-08-18 18:45:57   Niederschlagsmenge-02 1.02
     2022-08-18 18:45:57   Niederschlagsmenge-03 2.02
     2022-08-18 18:45:57   Niederschlagsmenge-04 2.38
     2022-08-18 18:45:57   Niederschlagsmenge-05 2.42
     2022-08-18 18:45:57   Niederschlagsmenge-06 2.88
     2022-08-18 18:45:57   Niederschlagsmenge-07 4.57
     2022-08-18 18:45:57   Niederschlagsmenge-08 5.71
     2022-08-18 18:45:57   Niederschlagsmenge-09 3.74
     2022-08-18 18:45:57   Niederschlagsmenge-10 2.72
     2022-08-18 18:45:57   Niederschlagsmenge-11 1.82
     2022-08-18 18:45:57   Niederschlagsmenge-12 0.8
     2022-08-18 18:45:57   Niederschlagsmenge-13 1.09
     2022-08-18 18:45:57   Niederschlagsmenge-14 0
     2022-08-18 18:45:57   Niederschlagsmenge-15 1.06
     2022-08-18 18:45:57   Niederschlagsmenge-16 0.42
     2022-08-18 18:45:57   Niederschlagsmenge-17 0.47
     2022-08-18 18:45:57   Niederschlagsmenge-18 0.97
     2022-08-18 18:45:57   Niederschlagsmenge-19 0.46
     2022-08-18 18:45:57   Niederschlagsmenge-20 0.44
     2022-08-18 18:45:57   Niederschlagsmenge-21 0.93
     2022-08-18 18:45:57   Niederschlagsmenge-22 1.08
     2022-08-18 18:45:57   Niederschlagsmenge-23 0
     2022-08-18 18:45:57   Niederschlagsmenge-24 0
     2022-08-18 18:45:57   Regen5M_Date    Do 18.08.
     2022-08-18 18:35:03   UNMATCHED_READINGS Regen5M_Text Regen5M_Time Regen5M
     2022-08-18 18:45:57   WindGeschwindigkeit-01 7
     2022-08-18 18:45:57   WindGeschwindigkeit-02 6
     2022-08-18 18:45:57   WindGeschwindigkeit-03 7
     2022-08-18 18:45:57   WindGeschwindigkeit-04 6
     2022-08-18 18:45:57   WindGeschwindigkeit-05 6
     2022-08-18 18:45:57   WindGeschwindigkeit-06 6
     2022-08-18 18:45:57   WindGeschwindigkeit-07 9
     2022-08-18 18:45:57   WindGeschwindigkeit-08 9
     2022-08-18 18:45:57   WindGeschwindigkeit-09 8
     2022-08-18 18:45:57   WindGeschwindigkeit-10 10
     2022-08-18 18:45:57   WindGeschwindigkeit-11 10
     2022-08-18 18:45:57   WindGeschwindigkeit-12 11
     2022-08-18 18:45:57   WindGeschwindigkeit-13 15
     2022-08-18 18:45:57   WindGeschwindigkeit-14 13
     2022-08-18 18:45:57   WindGeschwindigkeit-15 10
     2022-08-18 18:45:57   WindGeschwindigkeit-16 11
     2022-08-18 18:45:57   WindGeschwindigkeit-17 11
     2022-08-18 18:45:57   WindGeschwindigkeit-18 14
     2022-08-18 18:45:57   WindGeschwindigkeit-19 14
     2022-08-18 18:45:57   WindGeschwindigkeit-20 14
     2022-08-18 18:45:57   WindGeschwindigkeit-21 13
     2022-08-18 18:45:57   WindGeschwindigkeit-22 14
     2022-08-18 18:45:57   WindGeschwindigkeit-23 15
     2022-08-18 18:45:57   WindGeschwindigkeit-24 15
     2022-08-18 18:45:57   Wolken-01       6/8 stark bewölkt
     2022-08-18 18:45:57   Wolken-02       6/8 stark bewölkt
     2022-08-18 18:45:57   Wolken-03       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-04       7/8 fast bedeckt
     2022-08-18 18:45:57   Wolken-05       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-06       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-07       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-08       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-09       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-10       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-11       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-12       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-13       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-14       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-15       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-16       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-17       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-18       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-19       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-20       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-21       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-22       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-23       8/8 bedeckt
     2022-08-18 18:45:57   Wolken-24       8/8 bedeckt
     2022-08-18 18:45:57   Wolken_akt      stark bewölkt
   REQUEST:
     context    get
     data       
     header     
     ignoreredirects 0
     num        01
     retryCount 0
     type       get01
     url        https://ch.wetter.com/schweiz/tuebach/CH8533198.html
     value     
   defptr:
     readingBase:
       Niederschlagsmenge-01 reading
       Niederschlagsmenge-02 reading
       Niederschlagsmenge-03 reading
       Niederschlagsmenge-04 reading
       Niederschlagsmenge-05 reading
       Niederschlagsmenge-06 reading
       Niederschlagsmenge-07 reading
       Niederschlagsmenge-08 reading
       Niederschlagsmenge-09 reading
       Niederschlagsmenge-10 reading
       Niederschlagsmenge-11 reading
       Niederschlagsmenge-12 reading
       Niederschlagsmenge-13 reading
       Niederschlagsmenge-14 reading
       Niederschlagsmenge-15 reading
       Niederschlagsmenge-16 reading
       Niederschlagsmenge-17 reading
       Niederschlagsmenge-18 reading
       Niederschlagsmenge-19 reading
       Niederschlagsmenge-20 reading
       Niederschlagsmenge-21 reading
       Niederschlagsmenge-22 reading
       Niederschlagsmenge-23 reading
       Niederschlagsmenge-24 reading
       Regen5M_Date reading
       WindGeschwindigkeit-01 reading
       WindGeschwindigkeit-02 reading
       WindGeschwindigkeit-03 reading
       WindGeschwindigkeit-04 reading
       WindGeschwindigkeit-05 reading
       WindGeschwindigkeit-06 reading
       WindGeschwindigkeit-07 reading
       WindGeschwindigkeit-08 reading
       WindGeschwindigkeit-09 reading
       WindGeschwindigkeit-10 reading
       WindGeschwindigkeit-11 reading
       WindGeschwindigkeit-12 reading
       WindGeschwindigkeit-13 reading
       WindGeschwindigkeit-14 reading
       WindGeschwindigkeit-15 reading
       WindGeschwindigkeit-16 reading
       WindGeschwindigkeit-17 reading
       WindGeschwindigkeit-18 reading
       WindGeschwindigkeit-19 reading
       WindGeschwindigkeit-20 reading
       WindGeschwindigkeit-21 reading
       WindGeschwindigkeit-22 reading
       WindGeschwindigkeit-23 reading
       WindGeschwindigkeit-24 reading
       Wolken-01  reading
       Wolken-02  reading
       Wolken-03  reading
       Wolken-04  reading
       Wolken-05  reading
       Wolken-06  reading
       Wolken-07  reading
       Wolken-08  reading
       Wolken-09  reading
       Wolken-10  reading
       Wolken-11  reading
       Wolken-12  reading
       Wolken-13  reading
       Wolken-14  reading
       Wolken-15  reading
       Wolken-16  reading
       Wolken-17  reading
       Wolken-18  reading
       Wolken-19  reading
       Wolken-20  reading
       Wolken-21  reading
       Wolken-22  reading
       Wolken-23  reading
       Wolken-24  reading
       Wolken_akt reading
     readingNum:
       Niederschlagsmenge-01 09
       Niederschlagsmenge-02 09
       Niederschlagsmenge-03 09
       Niederschlagsmenge-04 09
       Niederschlagsmenge-05 09
       Niederschlagsmenge-06 09
       Niederschlagsmenge-07 09
       Niederschlagsmenge-08 09
       Niederschlagsmenge-09 09
       Niederschlagsmenge-10 09
       Niederschlagsmenge-11 09
       Niederschlagsmenge-12 09
       Niederschlagsmenge-13 09
       Niederschlagsmenge-14 09
       Niederschlagsmenge-15 09
       Niederschlagsmenge-16 09
       Niederschlagsmenge-17 09
       Niederschlagsmenge-18 09
       Niederschlagsmenge-19 09
       Niederschlagsmenge-20 09
       Niederschlagsmenge-21 09
       Niederschlagsmenge-22 09
       Niederschlagsmenge-23 09
       Niederschlagsmenge-24 09
       Regen5M_Date 02
       WindGeschwindigkeit-01 11
       WindGeschwindigkeit-02 11
       WindGeschwindigkeit-03 11
       WindGeschwindigkeit-04 11
       WindGeschwindigkeit-05 11
       WindGeschwindigkeit-06 11
       WindGeschwindigkeit-07 11
       WindGeschwindigkeit-08 11
       WindGeschwindigkeit-09 11
       WindGeschwindigkeit-10 11
       WindGeschwindigkeit-11 11
       WindGeschwindigkeit-12 11
       WindGeschwindigkeit-13 11
       WindGeschwindigkeit-14 11
       WindGeschwindigkeit-15 11
       WindGeschwindigkeit-16 11
       WindGeschwindigkeit-17 11
       WindGeschwindigkeit-18 11
       WindGeschwindigkeit-19 11
       WindGeschwindigkeit-20 11
       WindGeschwindigkeit-21 11
       WindGeschwindigkeit-22 11
       WindGeschwindigkeit-23 11
       WindGeschwindigkeit-24 11
       Wolken-01  10
       Wolken-02  10
       Wolken-03  10
       Wolken-04  10
       Wolken-05  10
       Wolken-06  10
       Wolken-07  10
       Wolken-08  10
       Wolken-09  10
       Wolken-10  10
       Wolken-11  10
       Wolken-12  10
       Wolken-13  10
       Wolken-14  10
       Wolken-15  10
       Wolken-16  10
       Wolken-17  10
       Wolken-18  10
       Wolken-19  10
       Wolken-20  10
       Wolken-21  10
       Wolken-22  10
       Wolken-23  10
       Wolken-24  10
       Wolken_akt 03
     readingOutdated:
     readingSubNum:
       Niederschlagsmenge-01 -1
       Niederschlagsmenge-02 -2
       Niederschlagsmenge-03 -3
       Niederschlagsmenge-04 -4
       Niederschlagsmenge-05 -5
       Niederschlagsmenge-06 -6
       Niederschlagsmenge-07 -7
       Niederschlagsmenge-08 -8
       Niederschlagsmenge-09 -9
       Niederschlagsmenge-10 -10
       Niederschlagsmenge-11 -11
       Niederschlagsmenge-12 -12
       Niederschlagsmenge-13 -13
       Niederschlagsmenge-14 -14
       Niederschlagsmenge-15 -15
       Niederschlagsmenge-16 -16
       Niederschlagsmenge-17 -17
       Niederschlagsmenge-18 -18
       Niederschlagsmenge-19 -19
       Niederschlagsmenge-20 -20
       Niederschlagsmenge-21 -21
       Niederschlagsmenge-22 -22
       Niederschlagsmenge-23 -23
       Niederschlagsmenge-24 -24
       WindGeschwindigkeit-01 -1
       WindGeschwindigkeit-02 -2
       WindGeschwindigkeit-03 -3
       WindGeschwindigkeit-04 -4
       WindGeschwindigkeit-05 -5
       WindGeschwindigkeit-06 -6
       WindGeschwindigkeit-07 -7
       WindGeschwindigkeit-08 -8
       WindGeschwindigkeit-09 -9
       WindGeschwindigkeit-10 -10
       WindGeschwindigkeit-11 -11
       WindGeschwindigkeit-12 -12
       WindGeschwindigkeit-13 -13
       WindGeschwindigkeit-14 -14
       WindGeschwindigkeit-15 -15
       WindGeschwindigkeit-16 -16
       WindGeschwindigkeit-17 -17
       WindGeschwindigkeit-18 -18
       WindGeschwindigkeit-19 -19
       WindGeschwindigkeit-20 -20
       WindGeschwindigkeit-21 -21
       WindGeschwindigkeit-22 -22
       WindGeschwindigkeit-23 -23
       WindGeschwindigkeit-24 -24
       Wolken-01  -1
       Wolken-02  -2
       Wolken-03  -3
       Wolken-04  -4
       Wolken-05  -5
       Wolken-06  -6
       Wolken-07  -7
       Wolken-08  -8
       Wolken-09  -9
       Wolken-10  -10
       Wolken-11  -11
       Wolken-12  -12
       Wolken-13  -13
       Wolken-14  -14
       Wolken-15  -15
       Wolken-16  -16
       Wolken-17  -17
       Wolken-18  -18
       Wolken-19  -19
       Wolken-20  -20
       Wolken-21  -21
       Wolken-22  -22
       Wolken-23  -23
       Wolken-24  -24
     requestReadings:
       get01:
         Niederschlagsmenge-01 reading 09-1
         Niederschlagsmenge-02 reading 09-2
         Niederschlagsmenge-03 reading 09-3
         Niederschlagsmenge-04 reading 09-4
         Niederschlagsmenge-05 reading 09-5
         Niederschlagsmenge-06 reading 09-6
         Niederschlagsmenge-07 reading 09-7
         Niederschlagsmenge-08 reading 09-8
         Niederschlagsmenge-09 reading 09-9
         Niederschlagsmenge-10 reading 09-10
         Niederschlagsmenge-11 reading 09-11
         Niederschlagsmenge-12 reading 09-12
         Niederschlagsmenge-13 reading 09-13
         Niederschlagsmenge-14 reading 09-14
         Niederschlagsmenge-15 reading 09-15
         Niederschlagsmenge-16 reading 09-16
         Niederschlagsmenge-17 reading 09-17
         Niederschlagsmenge-18 reading 09-18
         Niederschlagsmenge-19 reading 09-19
         Niederschlagsmenge-20 reading 09-20
         Niederschlagsmenge-21 reading 09-21
         Niederschlagsmenge-22 reading 09-22
         Niederschlagsmenge-23 reading 09-23
         Niederschlagsmenge-24 reading 09-24
         Regen5M_Date reading 02
         WindGeschwindigkeit-01 reading 11-1
         WindGeschwindigkeit-02 reading 11-2
         WindGeschwindigkeit-03 reading 11-3
         WindGeschwindigkeit-04 reading 11-4
         WindGeschwindigkeit-05 reading 11-5
         WindGeschwindigkeit-06 reading 11-6
         WindGeschwindigkeit-07 reading 11-7
         WindGeschwindigkeit-08 reading 11-8
         WindGeschwindigkeit-09 reading 11-9
         WindGeschwindigkeit-10 reading 11-10
         WindGeschwindigkeit-11 reading 11-11
         WindGeschwindigkeit-12 reading 11-12
         WindGeschwindigkeit-13 reading 11-13
         WindGeschwindigkeit-14 reading 11-14
         WindGeschwindigkeit-15 reading 11-15
         WindGeschwindigkeit-16 reading 11-16
         WindGeschwindigkeit-17 reading 11-17
         WindGeschwindigkeit-18 reading 11-18
         WindGeschwindigkeit-19 reading 11-19
         WindGeschwindigkeit-20 reading 11-20
         WindGeschwindigkeit-21 reading 11-21
         WindGeschwindigkeit-22 reading 11-22
         WindGeschwindigkeit-23 reading 11-23
         WindGeschwindigkeit-24 reading 11-24
         Wolken-01  reading 10-1
         Wolken-02  reading 10-2
         Wolken-03  reading 10-3
         Wolken-04  reading 10-4
         Wolken-05  reading 10-5
         Wolken-06  reading 10-6
         Wolken-07  reading 10-7
         Wolken-08  reading 10-8
         Wolken-09  reading 10-9
         Wolken-10  reading 10-10
         Wolken-11  reading 10-11
         Wolken-12  reading 10-12
         Wolken-13  reading 10-13
         Wolken-14  reading 10-14
         Wolken-15  reading 10-15
         Wolken-16  reading 10-16
         Wolken-17  reading 10-17
         Wolken-18  reading 10-18
         Wolken-19  reading 10-19
         Wolken-20  reading 10-20
         Wolken-21  reading 10-21
         Wolken-22  reading 10-22
         Wolken-23  reading 10-23
         Wolken-24  reading 10-24
         Wolken_akt reading 03
       update:
         Niederschlagsmenge-01 reading 09-1
         Niederschlagsmenge-02 reading 09-2
         Niederschlagsmenge-03 reading 09-3
         Niederschlagsmenge-04 reading 09-4
         Niederschlagsmenge-05 reading 09-5
         Niederschlagsmenge-06 reading 09-6
         Niederschlagsmenge-07 reading 09-7
         Niederschlagsmenge-08 reading 09-8
         Niederschlagsmenge-09 reading 09-9
         Niederschlagsmenge-10 reading 09-10
         Niederschlagsmenge-11 reading 09-11
         Niederschlagsmenge-12 reading 09-12
         Niederschlagsmenge-13 reading 09-13
         Niederschlagsmenge-14 reading 09-14
         Niederschlagsmenge-15 reading 09-15
         Niederschlagsmenge-16 reading 09-16
         Niederschlagsmenge-17 reading 09-17
         Niederschlagsmenge-18 reading 09-18
         Niederschlagsmenge-19 reading 09-19
         Niederschlagsmenge-20 reading 09-20
         Niederschlagsmenge-21 reading 09-21
         Niederschlagsmenge-22 reading 09-22
         Niederschlagsmenge-23 reading 09-23
         Niederschlagsmenge-24 reading 09-24
         Regen5M_Date reading 02
         WindGeschwindigkeit-01 reading 11-1
         WindGeschwindigkeit-02 reading 11-2
         WindGeschwindigkeit-03 reading 11-3
         WindGeschwindigkeit-04 reading 11-4
         WindGeschwindigkeit-05 reading 11-5
         WindGeschwindigkeit-06 reading 11-6
         WindGeschwindigkeit-07 reading 11-7
         WindGeschwindigkeit-08 reading 11-8
         WindGeschwindigkeit-09 reading 11-9
         WindGeschwindigkeit-10 reading 11-10
         WindGeschwindigkeit-11 reading 11-11
         WindGeschwindigkeit-12 reading 11-12
         WindGeschwindigkeit-13 reading 11-13
         WindGeschwindigkeit-14 reading 11-14
         WindGeschwindigkeit-15 reading 11-15
         WindGeschwindigkeit-16 reading 11-16
         WindGeschwindigkeit-17 reading 11-17
         WindGeschwindigkeit-18 reading 11-18
         WindGeschwindigkeit-19 reading 11-19
         WindGeschwindigkeit-20 reading 11-20
         WindGeschwindigkeit-21 reading 11-21
         WindGeschwindigkeit-22 reading 11-22
         WindGeschwindigkeit-23 reading 11-23
         WindGeschwindigkeit-24 reading 11-24
         Wolken-01  reading 10-1
         Wolken-02  reading 10-2
         Wolken-03  reading 10-3
         Wolken-04  reading 10-4
         Wolken-05  reading 10-5
         Wolken-06  reading 10-6
         Wolken-07  reading 10-7
         Wolken-08  reading 10-8
         Wolken-09  reading 10-9
         Wolken-10  reading 10-10
         Wolken-11  reading 10-11
         Wolken-12  reading 10-12
         Wolken-13  reading 10-13
         Wolken-14  reading 10-14
         Wolken-15  reading 10-15
         Wolken-16  reading 10-16
         Wolken-17  reading 10-17
         Wolken-18  reading 10-18
         Wolken-19  reading 10-19
         Wolken-20  reading 10-20
         Wolken-21  reading 10-21
         Wolken-22  reading 10-22
         Wolken-23  reading 10-23
         Wolken-24  reading 10-24
         Wolken_akt reading 03
Attributes:
   DbLogExclude .*
   alias      Niederschlag-Prognose Wetter.com
   comment    Version: 20220818 15:50
   event-on-change-reading Regen5M_.*, Status.*
   event-on-update-reading Regen5M-01
   get01Name  Tuebach
   get01URL   https://ch.wetter.com/schweiz/tuebach/CH8533198.html
   icon       weather_rain_snow_heavy
   my_HighRainLimit 10
   my_LowRainLimit 3
   my_MediumRainLimit 6
   my_NoRainLimit 0.5
   reading01Name Regen5M_Text
   reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
   reading02Name Regen5M_Date
   reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
   reading03Name Wolken_akt
   reading03OMap 0/8:wolkenlos, 1/8:sonnig, 2/8:heiter, 3/8:leicht bewölkt, 4/8:wolkig, 5/8:bewölkt, 6/8:stark bewölkt, 7/8:fast bedeckt, 8/8:bedeckt
   reading03Regex <td.class=\"text..small text..center tdbl tdbr.*\">\n.*(\d\/\d)\n
   reading07Name Regen5M_Time
   reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<
   reading08AutoNumLen 2
   reading08DeleteIfUnmatched 1
   reading08Name Regen5M
   reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
   reading08RegOpt g
   reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".style=\"background.color.(.*?)\;\"><\/td>
   reading09AutoNumLen 2
   reading09DeleteIfUnmatched 1
   reading09Name Niederschlagsmenge
   reading09RegOpt g
   reading09Regex <td.class=\"text..small text..center.tdbl.tdbr.h70\">\n.* ([0-9]{1,}.*[0-9]{0,2})\n.*<div.class=\"bg..blue.dark\"
   reading10AutoNumLen 2
   reading10DeleteIfUnmatched 1
   reading10Name Wolken
   reading10OMap 0/8:0/8 wolkenlos, 1/8:1/8 sonnig, 2/8:2/8 heiter, 3/8:3/8 leicht bewölkt, 4/8:4/8 wolkig, 5/8:5/8 bewölkt, 6/8:6/8 stark bewölkt, 7/8:7/8 fast bedeckt, 8/8:8/8 bedeckt
   reading10RegOpt g
   reading10Regex <td.class=\"text..small text..center tdbl tdbr.h36\">\n.*(\d\/\d)\n
   reading11AutoNumLen 2
   reading11DeleteIfUnmatched 1
   reading11Name WindGeschwindigkeit
   reading11RegOpt g
   reading11Regex <td class="relative text--small text--center tdbl tdbr h70">\n.*\n.* ([0-9]*)
   room       Wettervorhersage
   showBody   0
   showError  1
   showMatched 0
   sortby     03
   stateFormat Regen5M_Date Regen5M_Time
</br>Bewölkung: Wolken_akt
</br>Aktuell: Status_akt
</br>In 1h: Status1h
</br>In 2h: Status2h
</br>Regen5M_Text
   userReadings Status_akt:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "txt")},
Status_akt_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "num")},
Status1h:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "txt")},
Status1h_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "num")},
Status2h:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "txt")},
Status2h_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "num")}
   userattr   my_HighRainLimit my_LowRainLimit my_MediumRainLimit my_NoRainLimit
   verbose    0

ch.eick

#65
Zitat von: Mumpitz am 18 August 2022, 18:54:38
Bei mir werden die Readings irgendwie anders angezeigt. Dadurch wird das StateFormat gar nicht gefüllt. Weiss jemand warum?

2022-08-18 18:35:03   UNMATCHED_READINGS Regen5M_Text Regen5M_Time Regen5M
Da passt die Abfrage für einige readings nicht. Auf der Schweizer Seite fehlt etwas in der Webseite, siehe dazu die Bilder.

Geh mal auf Friedrichshafen, dann dürfen auch die Schweizer wieder mitmachen ;-)

https://ch.wetter.com/deutschland/friedrichshafen/DE0003086.html
https://ch.wetter.com/deutschland/kressbronn-am-bodensee/DE0005759.html

Da könnte die Windrichtung eventuell noch wichtig werden!
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#66
Moin,
es hat sich anscheinend im HTML Code etwas geändert.

Die 5 Minuten Werte werden nun mit dieser Regex geliefert, da wohl der Titel neu dazu gekommen ist.

attr Niederschlag reading07Name Regen5M_Time
attr Niederschlag reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".title.*style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<

attr Niederschlag reading08AutoNumLen 2
attr Niederschlag reading08DeleteIfUnmatched 1
attr Niederschlag reading08Name Regen5M
attr Niederschlag reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
attr Niederschlag reading08RegOpt g
attr Niederschlag reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".title.*style=\"background.color.(.*?)\;;\"><\/td>


VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

plin

Zitat von: ch.eick am 17 September 2022, 12:19:40
Moin,
es hat sich anscheinend im HTML Code etwas geändert.

Die 5 Minuten Werte werden nun mit dieser Regex geliefert, da wohl der Titel neu dazu gekommen ist.

<td.class=\"\[.cattr Niederschlag reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".title.*style=\"background.color.(.*?)\;;\"><\/td>


VG
   Christian

Welches reading**Regex darfs denn sein?
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

ch.eick

Zitat von: plin am 17 September 2022, 17:33:45
Welches reading**Regex darfs denn sein?
Hallo Peter,
sorry, ich habe es jetzt im vorherigen Post korrigiert, da fehlte was beim copy/past

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

plin

Zitat von: ch.eick am 18 September 2022, 07:29:37
Hallo Peter,
sorry, ich habe es jetzt im vorherigen Post korrigiert, da fehlte was beim copy/past

VG
   Christian
Danke, habe ich eingebaut. Bei mir klemmt aber noch die Regen5M_Time. Die wurde zuletzt am 7.9. aktualisiert. Ist die auch von der Layout-Änderung betroffen?
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

ch.eick

Zitat von: plin am 18 September 2022, 08:20:46
Danke, habe ich eingebaut. Bei mir klemmt aber noch die Regen5M_Time. Die wurde zuletzt am 7.9. aktualisiert. Ist die auch von der Layout-Änderung betroffen?
Moin,
ich habe es hier jetzt auch korrigiert.
Danke für den aufmerksamen Hinweis
VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

binford6000

#71
Hallo Zusammen,
hat von euch auch jemand solche Zeilen im Logfile? Das erscheint beim Abruf oder manuell mit set reread:
2022.12.07 13:35:40.785 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.785 1: stacktrace:
2022.12.07 13:35:40.785 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.786 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.786 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.786 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.786 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.787 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.787 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.788 1: stacktrace:
2022.12.07 13:35:40.788 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.788 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.788 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.789 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.789 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.789 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.790 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.790 1: stacktrace:
2022.12.07 13:35:40.790 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.790 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.791 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.791 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.791 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.791 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.792 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.792 1: stacktrace:
2022.12.07 13:35:40.793 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.793 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.793 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.793 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.793 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.794 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.794 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.794 1: stacktrace:
2022.12.07 13:35:40.795 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.795 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.795 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.795 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.796 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.796 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.796 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.797 1: stacktrace:
2022.12.07 13:35:40.797 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.798 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.798 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.798 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.799 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.799 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.800 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.800 1: stacktrace:
2022.12.07 13:35:40.801 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.801 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.801 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.802 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.802 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.802 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.803 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.804 1: stacktrace:
2022.12.07 13:35:40.804 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.804 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.804 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.805 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.805 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.805 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.806 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.807 1: stacktrace:
2022.12.07 13:35:40.807 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.807 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.808 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.808 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.809 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.809 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.810 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.810 1: stacktrace:
2022.12.07 13:35:40.811 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.811 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.811 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.812 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.812 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.812 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.813 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.813 1: stacktrace:
2022.12.07 13:35:40.814 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.814 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.815 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.815 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.815 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.816 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.816 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.817 1: stacktrace:
2022.12.07 13:35:40.817 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.818 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.818 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.818 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.819 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.819 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.820 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.820 1: stacktrace:
2022.12.07 13:35:40.821 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.821 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.821 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.821 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.821 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.822 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.822 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.823 1: stacktrace:
2022.12.07 13:35:40.823 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.823 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.823 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.824 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.824 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.824 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.825 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.825 1: stacktrace:
2022.12.07 13:35:40.825 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.826 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.826 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.826 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.826 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.826 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.827 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.827 1: stacktrace:
2022.12.07 13:35:40.828 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.828 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.828 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.828 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.828 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.829 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.829 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.830 1: stacktrace:
2022.12.07 13:35:40.830 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.830 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.830 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.830 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.831 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.831 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.832 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.832 1: stacktrace:
2022.12.07 13:35:40.832 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.833 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.833 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.833 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.833 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.833 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.834 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.834 1: stacktrace:
2022.12.07 13:35:40.835 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.835 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.835 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.835 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.836 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.836 1:     main::__ANON__                      called by fhem.pl (781)
2022.12.07 13:35:40.836 1: PERL WARNING: Odd number of elements in hash assignment at lib/FHEM/HTTPMOD/Utils.pm line 366.
2022.12.07 13:35:40.837 1: stacktrace:
2022.12.07 13:35:40.837 1:     main::__ANON__                      called by lib/FHEM/HTTPMOD/Utils.pm (366)
2022.12.07 13:35:40.837 1:     FHEM::HTTPMOD::Utils::MapConvert    called by ./FHEM/98_HTTPMOD.pm (1507)
2022.12.07 13:35:40.837 1:     HTTPMOD::FormatReading              called by ./FHEM/98_HTTPMOD.pm (1697)
2022.12.07 13:35:40.838 1:     HTTPMOD::ExtractReading             called by ./FHEM/98_HTTPMOD.pm (2433)
2022.12.07 13:35:40.838 1:     HTTPMOD::ReadCallback               called by FHEM/HttpUtils.pm (729)
2022.12.07 13:35:40.838 1:     main::__ANON__                      called by fhem.pl (781)


Besagt Zeile #366 aus Utils.pm:
my %mapHash = split (/, *|:/, $map);                        # reverse hash aus dem reverse string                   


Ich habe insgesamt 12 HTTPMOD devices am Start aber nur der Regensensor fabriziert die Einträge...

VG Sebastian


Aeroschmelz

#72
Hallo,

kann es sein, dass sich wieder etwas an dem Format bei Wetter.com getan hat? Bei mir sieht es jetzt wieder so aus wie bei Mumpitz. Die Sub-Funktion will wohl auch nicht so. Mein


Internals:
   .Content-Type  text/html; charset=UTF-8
   .LASTSEND  1677758247.66371
   .LastUpdate 1677758247.66253
   .TRIGGERTIME 1677758847.66253
   .bodyCharset UTF-8
   .getList   Kloppenheim:noArg
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue
   BUSY       0
   DEF        https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html 600
   DeleteIfUnmatched 1
   FUUID      64008c5b-f33f-0756-c122-86b1f1a49d25bd1e
   Interval   600
   MainURL    https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html
   ModuleVersion 4.1.15 - 17.12.2022
   NAME       Niederschlag
   NOTIFYDEV  global
   NR         623
   NTFY_ORDER 50-Niederschlag
   STATE      Do 02.03. Regen5M_Time
</br>Bewölkung: wolkenlos
</br>Aktuell: Status_akt
</br>In 1h: Status1h
</br>In 2h: Status2h
</br>Kein Niederschlag in Sicht
   TYPE       HTTPMOD
   eventCount 8
   value     
   .attraggr:
   .attreocr:
     Regen5M_.*
      Status.*
   .attreour:
     Regen5M-01
   .attrminint:
   .readingParseList:
     01
     02
     03
     07
     08
     09
     10
     11
   .userReadings:
     HASH(0x2de6f60)
     HASH(0x2e37b30)
     HASH(0x2df2230)
     HASH(0x3d2a1e8)
     HASH(0x3d2abf0)
     HASH(0x3d2a260)
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://www.wetter.com:443
     auth       0
     code       200
     compress   1
     conn       
     data       
     displayurl https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html
     header     
     host       www.wetter.com
     httpheader HTTP/1.1 200 OK
Server: CloudFront
Content-Type: text/html; charset=UTF-8
Connection: close
Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Cache-Control: public
Date: Thu, 02 Mar 2023 11:57:27 GMT
Expires: Thu, 02 Mar 2023 12:02:27 GMT
Grace: none
Referrer-Policy: strict-origin-when-cross-origin
X-Backend: green
X-Cache-Hits: 0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Vary: X-MOBILE-POC,X-CMP-GROUP,X-PWA-GROUP,X-IE-USER,X-CMP-RELOAD,User-Agent,Accept-Encoding
Via: 1.1 57eb57a4c7d431365ab5b2e18c495bf4.cloudfront.net (CloudFront)
Alt-Svc: h3=":443"; ma=86400
Age: 0
X-Bot-Viewer: false
X-Forwarded-Proto: https
X-Cache: Miss from cloudfront
X-Amz-Cf-Pop: FRA56-P6
X-Amz-Cf-Id: zyK7-nJmeenGGxl0QMZFTypNX282pabvX5KW1PwFpGqtXsn0GzPGoQ==
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /deutschland/wiesbaden/kloppenheim/DE0011578029.html
     protocol   https
     redirects  0
     timeout    2
     url        https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html
     sslargs:
   QUEUE:
   READINGS:
     2023-03-02 12:57:28   Niederschlagsmenge-01 0
     2023-03-02 12:57:28   Niederschlagsmenge-02 0
     2023-03-02 12:57:28   Niederschlagsmenge-03 0
     2023-03-02 12:57:28   Niederschlagsmenge-04 0
     2023-03-02 12:57:28   Niederschlagsmenge-05 0
     2023-03-02 12:57:28   Niederschlagsmenge-06 0
     2023-03-02 12:57:28   Niederschlagsmenge-07 0
     2023-03-02 12:57:28   Niederschlagsmenge-08 0
     2023-03-02 12:57:28   Niederschlagsmenge-09 0
     2023-03-02 12:57:28   Niederschlagsmenge-10 0
     2023-03-02 12:57:28   Niederschlagsmenge-11 0
     2023-03-02 12:57:28   Niederschlagsmenge-12 0
     2023-03-02 12:57:28   Niederschlagsmenge-13 0
     2023-03-02 12:57:28   Niederschlagsmenge-14 0
     2023-03-02 12:57:28   Niederschlagsmenge-15 0
     2023-03-02 12:57:28   Niederschlagsmenge-16 0
     2023-03-02 12:57:28   Niederschlagsmenge-17 0
     2023-03-02 12:57:28   Niederschlagsmenge-18 0
     2023-03-02 12:57:28   Niederschlagsmenge-19 0
     2023-03-02 12:57:28   Niederschlagsmenge-20 0
     2023-03-02 12:57:28   Niederschlagsmenge-21 0
     2023-03-02 12:57:28   Niederschlagsmenge-22 0
     2023-03-02 12:57:28   Niederschlagsmenge-23 0
     2023-03-02 12:57:28   Niederschlagsmenge-24 0
     2023-03-02 12:57:28   Regen5M_Date    Do 02.03.
     2023-03-02 12:57:28   Regen5M_Text    Kein Niederschlag in Sicht
     2023-03-02 12:57:28   WindGeschwindigkeit-01 13
     2023-03-02 12:57:28   WindGeschwindigkeit-02 12
     2023-03-02 12:57:28   WindGeschwindigkeit-03 13
     2023-03-02 12:57:28   WindGeschwindigkeit-04 14
     2023-03-02 12:57:28   WindGeschwindigkeit-05 13
     2023-03-02 12:57:28   WindGeschwindigkeit-06 8
     2023-03-02 12:57:28   WindGeschwindigkeit-07 7
     2023-03-02 12:57:28   WindGeschwindigkeit-08 7
     2023-03-02 12:57:28   WindGeschwindigkeit-09 7
     2023-03-02 12:57:28   WindGeschwindigkeit-10 7
     2023-03-02 12:57:28   WindGeschwindigkeit-11 7
     2023-03-02 12:57:28   WindGeschwindigkeit-12 7
     2023-03-02 12:57:28   WindGeschwindigkeit-13 7
     2023-03-02 12:57:28   WindGeschwindigkeit-14 7
     2023-03-02 12:57:28   WindGeschwindigkeit-15 7
     2023-03-02 12:57:28   WindGeschwindigkeit-16 7
     2023-03-02 12:57:28   WindGeschwindigkeit-17 7
     2023-03-02 12:57:28   WindGeschwindigkeit-18 7
     2023-03-02 12:57:28   WindGeschwindigkeit-19 7
     2023-03-02 12:57:28   WindGeschwindigkeit-20 7
     2023-03-02 12:57:28   WindGeschwindigkeit-21 7
     2023-03-02 12:57:28   WindGeschwindigkeit-22 6
     2023-03-02 12:57:28   WindGeschwindigkeit-23 5
     2023-03-02 12:57:28   WindGeschwindigkeit-24 5
     2023-03-02 12:57:28   Wolken-01       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-02       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-03       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-04       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-05       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-06       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-07       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-08       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-09       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-10       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-11       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-12       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-13       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-14       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-15       1/8 sonnig
     2023-03-02 12:57:28   Wolken-16       1/8 sonnig
     2023-03-02 12:57:28   Wolken-17       1/8 sonnig
     2023-03-02 12:57:28   Wolken-18       1/8 sonnig
     2023-03-02 12:57:28   Wolken-19       3/8 leicht bewölkt
     2023-03-02 12:57:28   Wolken-20       1/8 sonnig
     2023-03-02 12:57:28   Wolken-21       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-22       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-23       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken-24       0/8 wolkenlos
     2023-03-02 12:57:28   Wolken_akt      wolkenlos
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        unknown
     retryCount 0
     type       update
     url        https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html
   defptr:
     readingBase:
       Niederschlagsmenge-01 reading
       Niederschlagsmenge-02 reading
       Niederschlagsmenge-03 reading
       Niederschlagsmenge-04 reading
       Niederschlagsmenge-05 reading
       Niederschlagsmenge-06 reading
       Niederschlagsmenge-07 reading
       Niederschlagsmenge-08 reading
       Niederschlagsmenge-09 reading
       Niederschlagsmenge-10 reading
       Niederschlagsmenge-11 reading
       Niederschlagsmenge-12 reading
       Niederschlagsmenge-13 reading
       Niederschlagsmenge-14 reading
       Niederschlagsmenge-15 reading
       Niederschlagsmenge-16 reading
       Niederschlagsmenge-17 reading
       Niederschlagsmenge-18 reading
       Niederschlagsmenge-19 reading
       Niederschlagsmenge-20 reading
       Niederschlagsmenge-21 reading
       Niederschlagsmenge-22 reading
       Niederschlagsmenge-23 reading
       Niederschlagsmenge-24 reading
       Regen5M_Date reading
       Regen5M_Text reading
       WindGeschwindigkeit-01 reading
       WindGeschwindigkeit-02 reading
       WindGeschwindigkeit-03 reading
       WindGeschwindigkeit-04 reading
       WindGeschwindigkeit-05 reading
       WindGeschwindigkeit-06 reading
       WindGeschwindigkeit-07 reading
       WindGeschwindigkeit-08 reading
       WindGeschwindigkeit-09 reading
       WindGeschwindigkeit-10 reading
       WindGeschwindigkeit-11 reading
       WindGeschwindigkeit-12 reading
       WindGeschwindigkeit-13 reading
       WindGeschwindigkeit-14 reading
       WindGeschwindigkeit-15 reading
       WindGeschwindigkeit-16 reading
       WindGeschwindigkeit-17 reading
       WindGeschwindigkeit-18 reading
       WindGeschwindigkeit-19 reading
       WindGeschwindigkeit-20 reading
       WindGeschwindigkeit-21 reading
       WindGeschwindigkeit-22 reading
       WindGeschwindigkeit-23 reading
       WindGeschwindigkeit-24 reading
       Wolken-01  reading
       Wolken-02  reading
       Wolken-03  reading
       Wolken-04  reading
       Wolken-05  reading
       Wolken-06  reading
       Wolken-07  reading
       Wolken-08  reading
       Wolken-09  reading
       Wolken-10  reading
       Wolken-11  reading
       Wolken-12  reading
       Wolken-13  reading
       Wolken-14  reading
       Wolken-15  reading
       Wolken-16  reading
       Wolken-17  reading
       Wolken-18  reading
       Wolken-19  reading
       Wolken-20  reading
       Wolken-21  reading
       Wolken-22  reading
       Wolken-23  reading
       Wolken-24  reading
       Wolken_akt reading
     readingNum:
       Niederschlagsmenge-01 09
       Niederschlagsmenge-02 09
       Niederschlagsmenge-03 09
       Niederschlagsmenge-04 09
       Niederschlagsmenge-05 09
       Niederschlagsmenge-06 09
       Niederschlagsmenge-07 09
       Niederschlagsmenge-08 09
       Niederschlagsmenge-09 09
       Niederschlagsmenge-10 09
       Niederschlagsmenge-11 09
       Niederschlagsmenge-12 09
       Niederschlagsmenge-13 09
       Niederschlagsmenge-14 09
       Niederschlagsmenge-15 09
       Niederschlagsmenge-16 09
       Niederschlagsmenge-17 09
       Niederschlagsmenge-18 09
       Niederschlagsmenge-19 09
       Niederschlagsmenge-20 09
       Niederschlagsmenge-21 09
       Niederschlagsmenge-22 09
       Niederschlagsmenge-23 09
       Niederschlagsmenge-24 09
       Regen5M_Date 02
       Regen5M_Text 01
       WindGeschwindigkeit-01 11
       WindGeschwindigkeit-02 11
       WindGeschwindigkeit-03 11
       WindGeschwindigkeit-04 11
       WindGeschwindigkeit-05 11
       WindGeschwindigkeit-06 11
       WindGeschwindigkeit-07 11
       WindGeschwindigkeit-08 11
       WindGeschwindigkeit-09 11
       WindGeschwindigkeit-10 11
       WindGeschwindigkeit-11 11
       WindGeschwindigkeit-12 11
       WindGeschwindigkeit-13 11
       WindGeschwindigkeit-14 11
       WindGeschwindigkeit-15 11
       WindGeschwindigkeit-16 11
       WindGeschwindigkeit-17 11
       WindGeschwindigkeit-18 11
       WindGeschwindigkeit-19 11
       WindGeschwindigkeit-20 11
       WindGeschwindigkeit-21 11
       WindGeschwindigkeit-22 11
       WindGeschwindigkeit-23 11
       WindGeschwindigkeit-24 11
       Wolken-01  10
       Wolken-02  10
       Wolken-03  10
       Wolken-04  10
       Wolken-05  10
       Wolken-06  10
       Wolken-07  10
       Wolken-08  10
       Wolken-09  10
       Wolken-10  10
       Wolken-11  10
       Wolken-12  10
       Wolken-13  10
       Wolken-14  10
       Wolken-15  10
       Wolken-16  10
       Wolken-17  10
       Wolken-18  10
       Wolken-19  10
       Wolken-20  10
       Wolken-21  10
       Wolken-22  10
       Wolken-23  10
       Wolken-24  10
       Wolken_akt 03
     readingOutdated:
     readingSubNum:
       Niederschlagsmenge-01 -1
       Niederschlagsmenge-02 -2
       Niederschlagsmenge-03 -3
       Niederschlagsmenge-04 -4
       Niederschlagsmenge-05 -5
       Niederschlagsmenge-06 -6
       Niederschlagsmenge-07 -7
       Niederschlagsmenge-08 -8
       Niederschlagsmenge-09 -9
       Niederschlagsmenge-10 -10
       Niederschlagsmenge-11 -11
       Niederschlagsmenge-12 -12
       Niederschlagsmenge-13 -13
       Niederschlagsmenge-14 -14
       Niederschlagsmenge-15 -15
       Niederschlagsmenge-16 -16
       Niederschlagsmenge-17 -17
       Niederschlagsmenge-18 -18
       Niederschlagsmenge-19 -19
       Niederschlagsmenge-20 -20
       Niederschlagsmenge-21 -21
       Niederschlagsmenge-22 -22
       Niederschlagsmenge-23 -23
       Niederschlagsmenge-24 -24
       WindGeschwindigkeit-01 -1
       WindGeschwindigkeit-02 -2
       WindGeschwindigkeit-03 -3
       WindGeschwindigkeit-04 -4
       WindGeschwindigkeit-05 -5
       WindGeschwindigkeit-06 -6
       WindGeschwindigkeit-07 -7
       WindGeschwindigkeit-08 -8
       WindGeschwindigkeit-09 -9
       WindGeschwindigkeit-10 -10
       WindGeschwindigkeit-11 -11
       WindGeschwindigkeit-12 -12
       WindGeschwindigkeit-13 -13
       WindGeschwindigkeit-14 -14
       WindGeschwindigkeit-15 -15
       WindGeschwindigkeit-16 -16
       WindGeschwindigkeit-17 -17
       WindGeschwindigkeit-18 -18
       WindGeschwindigkeit-19 -19
       WindGeschwindigkeit-20 -20
       WindGeschwindigkeit-21 -21
       WindGeschwindigkeit-22 -22
       WindGeschwindigkeit-23 -23
       WindGeschwindigkeit-24 -24
       Wolken-01  -1
       Wolken-02  -2
       Wolken-03  -3
       Wolken-04  -4
       Wolken-05  -5
       Wolken-06  -6
       Wolken-07  -7
       Wolken-08  -8
       Wolken-09  -9
       Wolken-10  -10
       Wolken-11  -11
       Wolken-12  -12
       Wolken-13  -13
       Wolken-14  -14
       Wolken-15  -15
       Wolken-16  -16
       Wolken-17  -17
       Wolken-18  -18
       Wolken-19  -19
       Wolken-20  -20
       Wolken-21  -21
       Wolken-22  -22
       Wolken-23  -23
       Wolken-24  -24
     requestReadings:
       get01:
         Niederschlagsmenge-01 reading 09-1
         Niederschlagsmenge-02 reading 09-2
         Niederschlagsmenge-03 reading 09-3
         Niederschlagsmenge-04 reading 09-4
         Niederschlagsmenge-05 reading 09-5
         Niederschlagsmenge-06 reading 09-6
         Niederschlagsmenge-07 reading 09-7
         Niederschlagsmenge-08 reading 09-8
         Niederschlagsmenge-09 reading 09-9
         Niederschlagsmenge-10 reading 09-10
         Niederschlagsmenge-11 reading 09-11
         Niederschlagsmenge-12 reading 09-12
         Niederschlagsmenge-13 reading 09-13
         Niederschlagsmenge-14 reading 09-14
         Niederschlagsmenge-15 reading 09-15
         Niederschlagsmenge-16 reading 09-16
         Niederschlagsmenge-17 reading 09-17
         Niederschlagsmenge-18 reading 09-18
         Niederschlagsmenge-19 reading 09-19
         Niederschlagsmenge-20 reading 09-20
         Niederschlagsmenge-21 reading 09-21
         Niederschlagsmenge-22 reading 09-22
         Niederschlagsmenge-23 reading 09-23
         Niederschlagsmenge-24 reading 09-24
         Regen5M_Date reading 02
         Regen5M_Text reading 01
         WindGeschwindigkeit-01 reading 11-1
         WindGeschwindigkeit-02 reading 11-2
         WindGeschwindigkeit-03 reading 11-3
         WindGeschwindigkeit-04 reading 11-4
         WindGeschwindigkeit-05 reading 11-5
         WindGeschwindigkeit-06 reading 11-6
         WindGeschwindigkeit-07 reading 11-7
         WindGeschwindigkeit-08 reading 11-8
         WindGeschwindigkeit-09 reading 11-9
         WindGeschwindigkeit-10 reading 11-10
         WindGeschwindigkeit-11 reading 11-11
         WindGeschwindigkeit-12 reading 11-12
         WindGeschwindigkeit-13 reading 11-13
         WindGeschwindigkeit-14 reading 11-14
         WindGeschwindigkeit-15 reading 11-15
         WindGeschwindigkeit-16 reading 11-16
         WindGeschwindigkeit-17 reading 11-17
         WindGeschwindigkeit-18 reading 11-18
         WindGeschwindigkeit-19 reading 11-19
         WindGeschwindigkeit-20 reading 11-20
         WindGeschwindigkeit-21 reading 11-21
         WindGeschwindigkeit-22 reading 11-22
         WindGeschwindigkeit-23 reading 11-23
         WindGeschwindigkeit-24 reading 11-24
         Wolken-01  reading 10-1
         Wolken-02  reading 10-2
         Wolken-03  reading 10-3
         Wolken-04  reading 10-4
         Wolken-05  reading 10-5
         Wolken-06  reading 10-6
         Wolken-07  reading 10-7
         Wolken-08  reading 10-8
         Wolken-09  reading 10-9
         Wolken-10  reading 10-10
         Wolken-11  reading 10-11
         Wolken-12  reading 10-12
         Wolken-13  reading 10-13
         Wolken-14  reading 10-14
         Wolken-15  reading 10-15
         Wolken-16  reading 10-16
         Wolken-17  reading 10-17
         Wolken-18  reading 10-18
         Wolken-19  reading 10-19
         Wolken-20  reading 10-20
         Wolken-21  reading 10-21
         Wolken-22  reading 10-22
         Wolken-23  reading 10-23
         Wolken-24  reading 10-24
         Wolken_akt reading 03
       update:
         Niederschlagsmenge-01 reading 09-1
         Niederschlagsmenge-02 reading 09-2
         Niederschlagsmenge-03 reading 09-3
         Niederschlagsmenge-04 reading 09-4
         Niederschlagsmenge-05 reading 09-5
         Niederschlagsmenge-06 reading 09-6
         Niederschlagsmenge-07 reading 09-7
         Niederschlagsmenge-08 reading 09-8
         Niederschlagsmenge-09 reading 09-9
         Niederschlagsmenge-10 reading 09-10
         Niederschlagsmenge-11 reading 09-11
         Niederschlagsmenge-12 reading 09-12
         Niederschlagsmenge-13 reading 09-13
         Niederschlagsmenge-14 reading 09-14
         Niederschlagsmenge-15 reading 09-15
         Niederschlagsmenge-16 reading 09-16
         Niederschlagsmenge-17 reading 09-17
         Niederschlagsmenge-18 reading 09-18
         Niederschlagsmenge-19 reading 09-19
         Niederschlagsmenge-20 reading 09-20
         Niederschlagsmenge-21 reading 09-21
         Niederschlagsmenge-22 reading 09-22
         Niederschlagsmenge-23 reading 09-23
         Niederschlagsmenge-24 reading 09-24
         Regen5M_Date reading 02
         Regen5M_Text reading 01
         WindGeschwindigkeit-01 reading 11-1
         WindGeschwindigkeit-02 reading 11-2
         WindGeschwindigkeit-03 reading 11-3
         WindGeschwindigkeit-04 reading 11-4
         WindGeschwindigkeit-05 reading 11-5
         WindGeschwindigkeit-06 reading 11-6
         WindGeschwindigkeit-07 reading 11-7
         WindGeschwindigkeit-08 reading 11-8
         WindGeschwindigkeit-09 reading 11-9
         WindGeschwindigkeit-10 reading 11-10
         WindGeschwindigkeit-11 reading 11-11
         WindGeschwindigkeit-12 reading 11-12
         WindGeschwindigkeit-13 reading 11-13
         WindGeschwindigkeit-14 reading 11-14
         WindGeschwindigkeit-15 reading 11-15
         WindGeschwindigkeit-16 reading 11-16
         WindGeschwindigkeit-17 reading 11-17
         WindGeschwindigkeit-18 reading 11-18
         WindGeschwindigkeit-19 reading 11-19
         WindGeschwindigkeit-20 reading 11-20
         WindGeschwindigkeit-21 reading 11-21
         WindGeschwindigkeit-22 reading 11-22
         WindGeschwindigkeit-23 reading 11-23
         WindGeschwindigkeit-24 reading 11-24
         Wolken-01  reading 10-1
         Wolken-02  reading 10-2
         Wolken-03  reading 10-3
         Wolken-04  reading 10-4
         Wolken-05  reading 10-5
         Wolken-06  reading 10-6
         Wolken-07  reading 10-7
         Wolken-08  reading 10-8
         Wolken-09  reading 10-9
         Wolken-10  reading 10-10
         Wolken-11  reading 10-11
         Wolken-12  reading 10-12
         Wolken-13  reading 10-13
         Wolken-14  reading 10-14
         Wolken-15  reading 10-15
         Wolken-16  reading 10-16
         Wolken-17  reading 10-17
         Wolken-18  reading 10-18
         Wolken-19  reading 10-19
         Wolken-20  reading 10-20
         Wolken-21  reading 10-21
         Wolken-22  reading 10-22
         Wolken-23  reading 10-23
         Wolken-24  reading 10-24
         Wolken_akt reading 03
Attributes:
   DbLogExclude .*
   alias      Niederschlag-Prognose
   comment    Version: 20220818 15:50
   event-on-change-reading Regen5M_.*, Status.*
   event-on-update-reading Regen5M-01
   get01Name  Kloppenheim
   get01URL   https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html
   group      Wetterdienste
   my_HighRainLimit 10
   my_LowRainLimit 3
   my_MediumRainLimit 6
   my_NoRainLimit 0.5
   reading01Name Regen5M_Text
   reading01Regex <span.id=\"nowcast-text\".class=\"portable-mb--\">\W*(.*)\W*</span>
   reading02Name Regen5M_Date
   reading02Regex <div class=\"\[.forecast-navigation-grid.\]\">\W*<a.data-label=\"VHSTabTag_1\"\W*class=\"\[.is-active.\]\"\W*.*\W*.*\W*.*\W*.*\W*.*\W*<div>\W*(.*)\W*<\/div>
   reading03Name Wolken_akt
   reading03OMap 0/8:wolkenlos, 1/8:sonnig, 2/8:heiter, 3/8:leicht bewölkt, 4/8:wolkig, 5/8:bewölkt, 6/8:stark bewölkt, 7/8:fast bedeckt, 8/8:bedeckt
   reading03Regex <td.class=\"text..small text..center tdbl tdbr.*\">\n.*(\d\/\d)\n
   reading07Name Regen5M_Time
   reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<
   reading08AutoNumLen 2
   reading08DeleteIfUnmatched 1
   reading08Name Regen5M
   reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h #eb1561:> 150 l/m²/h(*)
   reading08RegOpt g
   reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".style=\"background.color.(.*?)\;\"><\/td>
   reading09AutoNumLen 2
   reading09DeleteIfUnmatched 1
   reading09Name Niederschlagsmenge
   reading09RegOpt g
   reading09Regex <td.class=\"text..small text..center.tdbl.tdbr.h70\">\n.* ([0-9]{1,}.*[0-9]{0,2})\n.*<div.class=\"bg..blue.dark\"
   reading10AutoNumLen 2
   reading10DeleteIfUnmatched 1
   reading10Name Wolken
   reading10OMap 0/8:0/8 wolkenlos, 1/8:1/8 sonnig, 2/8:2/8 heiter, 3/8:3/8 leicht bewölkt, 4/8:4/8 wolkig, 5/8:5/8 bewölkt, 6/8:6/8 stark bewölkt, 7/8:7/8 fast bedeckt, 8/8:8/8 bedeckt
   reading10RegOpt g
   reading10Regex <td.class=\"text..small text..center tdbl tdbr.h36\">\n.*(\d\/\d)\n
   reading11AutoNumLen 2
   reading11DeleteIfUnmatched 1
   reading11Name WindGeschwindigkeit
   reading11RegOpt g
   reading11Regex <td class="relative text--small text--center tdbl tdbr h70">\n.*\n.* ([0-9]*)
   room       Umwelt
   showBody   0
   showError  1
   showMatched 0
   stateFormat Regen5M_Date Regen5M_Time
</br>Bewölkung: Wolken_akt
</br>Aktuell: Status_akt
</br>In 1h: Status1h
</br>In 2h: Status2h
</br>Regen5M_Text
   userReadings Status_akt:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "txt")},
Status_akt_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "num")},
Status1h:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "txt")},
Status1h_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "num")},
Status2h:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "txt")},
Status2h_num:Regen5M-01.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "num")}
   userattr   my_HighRainLimit my_LowRainLimit my_MediumRainLimit my_NoRainLimit
   verbose    4


Das Log sagt folgendes

2023.03.02 13:02:52 4: Niederschlag: GetUpdate called (reread)
2023.03.02 13:02:52 4: Niederschlag: HandleSendQueue sends update with timeout 2 to https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html, No Data, No Header
2023.03.02 13:02:53 4: Niederschlag: Read callback: request type was update retry 0,
header: HTTP/1.1 200 OK
Server: CloudFront
Content-Type: text/html; charset=UTF-8
Content-Length: 857916
Connection: close
Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Cache-Control: public
Date: Thu, 02 Mar 2023 11:57:27 GMT
Expires: Thu, 02 Mar 2023 12:02:27 GMT
Grace: normal(limited)
Referrer-Policy: strict-origin-when-cross-origin
X-Backend: green
X-Cache-Hits: 2
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Vary: X-MOBILE-POC,X-CMP-GROUP,X-PWA-GROUP,X-IE-USER,X-CMP-RELOAD,User-Agent,Accept-Encoding
Via: 1.1 3bf3e75bcb9a86b3eb343a1d4392a6de.cloudfront.net (CloudFront)
Alt-Svc: h3=":443"; ma=86400
Age: 325
X-Bot-Viewer: false
X-Forwarded-Proto: https
X-Cache: Miss from cloudfront
X-Amz-Cf-Pop: FRA2-C1
X-Amz-Cf-Id: rqvUqww2xzl7LaiRPyJzGP3jrNsJtwLWa5LguetUBM418l4OlJScyA==, body length 857916
2023.03.02 13:02:53 4: Niederschlag: BodyDecode is not decoding the response body (charset UTF-8, bodyDecode defaults to none)
2023.03.02 13:02:53 4: Niederschlag: checking for redirects, code=200, ignore=0
2023.03.02 13:02:53 4: Niederschlag: no redirects to handle
2023.03.02 13:02:53 4: Niederschlag: Read response matched 75, unmatch 2 Reading(s)
2023.03.02 13:02:56 4: Niederschlag: UpdateTimer called from ControlSet with cmd start sets timer to call update function in 596.0 sec at 13:12:52.950, interval 600

ch.eick

#73
Zitat von: Aeroschmelz am 02 März 2023, 13:01:39
Hallo,

kann es sein, dass sich wieder etwas an dem Format bei Wetter.com getan hat? Bei mir sieht es jetzt wieder so aus wie bei Mumpitz. Die Sub-Funktion will wohl auch nicht so. Mein
Das reading Regen5m_Time wird wohl bei Dir nicht richtig gesetzt.
Da habe ich bei mir auch ein fixes datum stehen, was so wohl nicht richtig ist. Das ist wohl noch von einem meiner Tests :-)
Es wird jedoch nur die Funktion time_str2num() verwendet, um auf den Zeitanteil etwas Zeit drauf zu rechnen, danach ist das Datum wieder unrelevant.
Am Beste versuchst Du mal die Regex auf den HTML Code der Seite zu testen.

reading07Name Regen5M_Time
reading07OExpr {POSIX::strftime("%H:%M",localtime(time_str2num("2022-11-17 $val")-4*5*60))}
reading07Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.left.border..grey.\]\".title.*style=\"background.color.\X*?data-nowcastKey=\"3\">(.*?)<

EDIT: Die Regex passt noch immer.
  Versuch mal ein Verbose 5 für den Aufruf der Seite und schau Dir dann das log an.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Aeroschmelz

#74
Hallo,

danke für die schnelle Hilfe. Hier mal das Log mit Verbose 5 ;-) Das mit der Uhrzeit funktioniert jetzt, allerdings wird das Reading für "Regen5M" unter Reading 08 nicht angelegt, dementsprechend läuft wohl auch die Sub-Funktion ins Leere. Kann es sein, das es daran hapert? Oder liegt es daran, dass gerade kein Regen in sicht ist und das Reading nur angelegt wird, wenn es eine Regenvorhersage gibt?

Grüsse
Marcus



2023.03.02 15:50:55 5: Niederschlag: set called with reread
2023.03.02 15:50:55 4: Niederschlag: GetUpdate called (reread)
2023.03.02 15:50:55 5: Niederschlag: AddToQueue adds type update to URL https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html, no data, no headers, retry 0, initial queue len: 0
2023.03.02 15:50:55 5: Niederschlag: HandleSendQueue called from AddToSendQueue, qlen = 1
2023.03.02 15:50:55 4: Niederschlag: HandleSendQueue sends update with timeout 2 to https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html, No Data, No Header
2023.03.02 15:50:55 5: Niederschlag: ReadCallback called from __ANON__
2023.03.02 15:50:55 4: Niederschlag: Read callback: request type was update retry 0,
header: HTTP/1.1 200 OK
Server: CloudFront
Content-Type: text/html; charset=UTF-8
Content-Length: 896600
Connection: close
Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Cache-Control: public
Date: Thu, 02 Mar 2023 14:43:08 GMT
Expires: Thu, 02 Mar 2023 14:48:08 GMT
Grace: normal(limited)
Referrer-Policy: strict-origin-when-cross-origin
X-Backend: blue
X-Cache-Hits: 1
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Vary: X-MOBILE-POC,X-CMP-GROUP,X-PWA-GROUP,X-IE-USER,X-CMP-RELOAD,User-Agent,Accept-Encoding
Via: 1.1 7a18a0a1d9929dae345690b88b08dd5e.cloudfront.net (CloudFront)
Alt-Svc: h3=":443"; ma=86400
Age: 467
X-Bot-Viewer: false
X-Forwarded-Proto: https
X-Cache: Miss from cloudfront
X-Amz-Cf-Pop: FRA2-C1
X-Amz-Cf-Id: vhaErXwNSO730HLUGXo9YiE6hd7izNbFPkqniW4whfp9_ZGDNI8JXA==, body length 896600
2023.03.02 15:50:55 5: Niederschlag: Read callback: body


<!DOCTYPE html>
<html lang="de-DE">
    <head>
        <meta charset="UTF-8" />
        <title>Wetter Kloppenheim (Wiesbaden) | wetter.com</title>

        <meta name="description" content="Wie wird das Wetter heute in Kloppenheim? Temperatur-, Wind- und Regenvorhersage, sowie aktuelle Wetterwarnungen finden Sie auf wetter.com für 65207 Kloppenheim, Hessen, Deutschland." />
        <meta name="msapplication-config" content="none" />
        <meta name="robots" content="INDEX,FOLLOW,NOODP,NOYDIR,NOARCHIVE,max-snippet:-1,max-image-preview:large,max-video-preview:-1" />

        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <meta name="twitter:dnt" content="on">
        <link rel="apple-touch-icon" sizes="60x60" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/60x60.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/76x76.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/120x120.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/180x180.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/32x32.png">
<link rel="icon" type="image/png" sizes="48x48" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/48x48.png">
<link rel="shortcut icon" type="image/x-icon" href="https://cs3.wettercomassets.com/wcomv5/images/icons/favicon/favicon.ico">
<link rel="manifest" href="/manifest.json">
        <meta property="fb:app_id" content="410278665655355" />
<meta property="fb:pages" content="46856808501" />
<meta property="fb:page_id" content="46856808501" />
<meta property="og:site_name" content="wetter.com" />
<meta property="og:title" content="Wetter Kloppenheim (Wiesbaden) | wetter.com" />
<meta property="og:description" content="Wie wird das Wetter heute in Kloppenheim? Temperatur-, Wind- und Regenvorhersage, sowie aktuelle Wetterwarnungen finden Sie auf wetter.com für 65207 Kloppenheim, Hessen, Deutschland." />
<meta property="og:locale" content="de_DE" />


        <meta property="place:location:latitude"  content="50.0941" />
    <meta property="place:location:longitude" content="8.3054" />
    <meta property="al:android:url" content="wettercom://forecast/DE0011578029" />
    <meta property="al:android:app_name" content="wetter.com" />
    <meta property="al:android:package" content="com.wetter.androidclient" />
    <link rel="alternate" href="android-app://com.wetter.androidclient/wettercom/forecast/DE0011578029" />
<meta property="og:image" content="https://cs3.wettercomassets.com/wcomv5/images/social-vorhersage.png" />
<meta property="og:type" content="place" />
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@wettercom">
<meta name="twitter:title" content="Wetter Kloppenheim (Wiesbaden) | wetter.com">
<meta name="twitter:description" content="Wie wird das Wetter heute in Kloppenheim? Temperatur-, Wind- und Regenvorhersage, sowie aktuelle Wetterwarnungen finden Sie auf wetter.com für 65207 Kloppenheim, Hessen, Deutschland.">
<meta name="twitter:image" content="https://cs3.wettercomassets.com/wcomv5/images/social-vorhersage.png">
<meta name="google-site-verification" content="IwCMKI7JhmFFms6gjuZ11Pvk_BQYxydRztCIt6aD9K8" />



<meta name="p:domain_verify" content="fb75e4a67aada65f93748fee389b6e5e" />
        <link rel="stylesheet" href="https://cs3.wettercomassets.com/wcomv5/css/fonts.min.css?202303021323" media="all" data-device="desk" />
<link rel="preload" href="https://cs3.wettercomassets.com/wcomv5/fonts/opensans/v15/normal300.woff" as="font" type="font/woff" crossorigin />
<link rel="preload" href="https://cs3.wettercomassets.com/wcomv5/fonts/opensans/v15/normal400.woff" as="font" type="font/woff" crossorigin />
<link rel="preload" href="https://cs3.wettercomassets.com/wcomv5/fonts/opensans/v15/normal600.woff" as="font" type="font/woff" crossorigin />
<link rel="preload" href="https://cs3.wettercomassets.com/wcomv5/fonts/opensans/v15/italic.woff" as="font" type="font/woff" crossorigin />
       
                                                                    <link rel="alternate" hreflang="de-AT" href="https://at.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html" />
                                            <link rel="alternate" hreflang="de-CH" href="https://ch.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html" />
                                            <link rel="alternate" hreflang="de-DE" href="https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html" />
                                    <link rel="alternate" hreflang="x-default" href="https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html" />
                                            <link rel="canonical" href="https://www.wetter.com/deutschland/wiesbaden/kloppenheim/DE0011578029.html"/>
           

       
                        <script>
                window.googletag = window.googletag || {cmd: []};
                window.Wetter = window.Wetter || {};
                window.Wetter.cmpSetup = {};
                window.hasDisplayAds = true;
                window.hasMbanner = false;
                window.hasOutbrain = true;
                window.isOutbrain = true;
                window.isPayUser = window.localStorage.getItem('wcom_cmp_pu') !== null;

                var envLocale = 'www';
                var userDevice = 'desk';
                                var assetsBaseDir = 'https://cs3.wettercomassets.com/wcomv5/images/';
                var WDC_pageLoadTimer = (new Date()).getTime();

                                window.addEventListener('beforeinstallprompt', (e) => {
                    e.preventDefault();
                    return false;
                });
            </script>


               
<link href="https://cs3.wettercomassets.com" rel="preconnect" crossorigin/>
<link href="https://cs3.wettercomassets.com" rel="dns-prefetch" crossorigin/>
<link href="https://static-radar.wettercomassets.com" rel="preconnect" crossorigin/>
<link href="https://static-radar.wettercomassets.com" rel="dns-prefetch" crossorigin/>
<link href="https://d1azc1qln24ryf.cloudfront.net" rel="preconnect" crossorigin/>
<link href="https://d1azc1qln24ryf.cloudfront.net" rel="dns-prefetch" crossorigin/>
<link href="https://app.usercentrics.eu" rel="preconnect" crossorigin/>
<link href="https://app.usercentrics.eu" rel="dns-prefetch" crossorigin/>
<link href="https://www.googletagmanager.com" rel="preconnect" crossorigin/>
<link href="https://www.googletagmanager.com" rel="dns-prefetch" crossorigin/>
<link href="https://cdn.optimizely.com" rel="preconnect" crossorigin/>
<link href="https://cdn.optimizely.com" rel="dns-prefetch" crossorigin/>
<link href="https://widgets.outbrain.com" rel="preconnect" crossorigin/>
<link href="https://widgets.outbrain.com" rel="dns-prefetch" crossorigin/>

<script src="https://cs3.wettercomassets.com/wcomv5/assets/runtime.27caf0ef.js"></script><script src="https://cs3.wettercomassets.com/wcomv5/assets/0.7e18a0ff.js"></script><script src="https://cs3.wettercomassets.com/wcomv5/assets/1.e7803836.js"></script><script src="https://cs3.wettercomassets.com/wcomv5/assets/sparta-vhs.3d351c39.js"></script>

<link rel="stylesheet" href="https://d1azc1qln24ryf.cloudfront.net/121936/wettercom/style-cf.css?20230116-1135" media="lazy" onload="if (this.media != 'all') this.media='all';">

            <link rel="preload stylesheet" as="style" href="https://cs3.wettercomassets.com/wcomv5/assets/sparta-vhs.ce7df6ce.css" />
        <link rel="preload stylesheet" as="style" href="https://cs3.wettercomassets.com/wcomv5/assets/sparta-vhs.ce7df6ce.desk.css" />
   

            <script type="application/javascript" src="https://health.wetter.com/check.js" data-check-id="162e3d86" async></script>
       

        <link rel="stylesheet" media="print" href="https://cs3.wettercomassets.com/wcomv5/css/print.css?202303021323" />
        <link rel="search" type="application/opensearchdescription+xml" href="https://cs3.wettercomassets.com/wcomv5/files/opensearch/search.xml" title="wetter.com"/>
        <link rel="alternate" type="application/rss+xml" title="wetter.com RSS Feed" href="https://www.wetter.com/wetter_rss/wetter.xml" />

           
                    <script>
                var ad_slot = 'Vorhersage';
            </script>
                            <script>
    if ('undefined' !== typeof advertising) {
        advertising.Data.parameters.mode = "city";
        advertising.Data.parameters.type = "beitrag";
        advertising.Data.site = "DE";
                    advertising.Data.tracking_url = "/wetter_aktuell/wettervorhersage/heute/Europa/DE/HE/Kloppenheim";
                advertising.Data.parameters.keywords = "";

        advertising.Data.parameters.continent = "Europa";
        advertising.Data.parameters.continentCode = "EU";
        advertising.Data.parameters.country = "Deutschland";
        advertising.Data.parameters.countryCode = "EUDE";
        advertising.Data.parameters.regionName = "Hessen";
        advertising.Data.parameters.regionCode = "DEADM105";
        advertising.Data.parameters.cityName = "Kloppenheim";
        advertising.Data.parameters.cityNameShort = "Kloppenheim";
        advertising.Data.parameters.admin4Code = "06414000";
        advertising.Data.parameters.cityCode = "DE0011578029";
        advertising.Data.parameters.cityZipcode = "65207";
                    advertising.Data.parameters.forecastDate = "2023-03-02";
                            advertising.Data.parameters.temperatureMin = "0";
            advertising.Data.parameters.temperatureMax = "12";
            advertising.Data.parameters.coldWeatherIndex = "0";
            advertising.Data.parameters.weatherState = "0";
            advertising.Data.parameters.weatherStateFuzzy = "0y1n2n3n";
            advertising.Data.parameters.lat = "50.0941";
            advertising.Data.parameters.lon = "8.3054";
            advertising.Data.parameters.windMin = "7";
            advertising.Data.parameters.windMax = "14";
            advertising.Data.parameters.gust = "35";
            }
</script>
       
        <script>
            window.optDatafile = "{\"groups\": [], \"environmentKey\": \"production\", \"rollouts\": [{\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"57324\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-19083-20745270215\", \"layerId\": \"rollout-19083-20745270215\", \"trafficAllocation\": [{\"entityId\": \"57324\", \"endOfRange\": 10000}], \"id\": \"default-rollout-19083-20745270215\"}], \"id\": \"rollout-19083-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"16269\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-5921-20745270215\", \"layerId\": \"rollout-5921-20745270215\", \"trafficAllocation\": [{\"entityId\": \"16269\", \"endOfRange\": 10000}], \"id\": \"default-rollout-5921-20745270215\"}], \"id\": \"rollout-5921-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"16266\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-5920-20745270215\", \"layerId\": \"rollout-5920-20745270215\", \"trafficAllocation\": [{\"entityId\": \"16266\", \"endOfRange\": 10000}], \"id\": \"default-rollout-5920-20745270215\"}], \"id\": \"rollout-5920-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"21598\", \"key\": \"a\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"default-rollout-7685-20745270215\", \"layerId\": \"rollout-7685-20745270215\", \"trafficAllocation\": [{\"entityId\": \"21598\", \"endOfRange\": 10000}], \"id\": \"default-rollout-7685-20745270215\"}], \"id\": \"rollout-7685-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"44928\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-15573-20745270215\", \"layerId\": \"rollout-15573-20745270215\", \"trafficAllocation\": [{\"entityId\": \"44928\", \"endOfRange\": 10000}], \"id\": \"default-rollout-15573-20745270215\"}], \"id\": \"rollout-15573-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"41846\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-14486-20745270215\", \"layerId\": \"rollout-14486-20745270215\", \"trafficAllocation\": [{\"entityId\": \"41846\", \"endOfRange\": 10000}], \"id\": \"default-rollout-14486-20745270215\"}], \"id\": \"rollout-14486-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"41848\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-14487-20745270215\", \"layerId\": \"rollout-14487-20745270215\", \"trafficAllocation\": [{\"entityId\": \"41848\", \"endOfRange\": 10000}], \"id\": \"default-rollout-14487-20745270215\"}], \"id\": \"rollout-14487-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"26906\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-9371-20745270215\", \"layerId\": \"rollout-9371-20745270215\", \"trafficAllocation\": [{\"entityId\": \"26906\", \"endOfRange\": 10000}], \"id\": \"default-rollout-9371-20745270215\"}], \"id\": \"rollout-9371-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"52658\", \"key\": \"a\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"default-rollout-17630-20745270215\", \"layerId\": \"rollout-17630-20745270215\", \"trafficAllocation\": [{\"entityId\": \"52658\", \"endOfRange\": 10000}], \"id\": \"default-rollout-17630-20745270215\"}], \"id\": \"rollout-17630-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"59675\", \"key\": \"default\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"default-rollout-19913-20745270215\", \"layerId\": \"rollout-19913-20745270215\", \"trafficAllocation\": [{\"entityId\": \"59675\", \"endOfRange\": 10000}], \"id\": \"default-rollout-19913-20745270215\"}], \"id\": \"rollout-19913-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"83069\", \"key\": \"on\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"default-rollout-28254-20745270215\", \"layerId\": \"rollout-28254-20745270215\", \"trafficAllocation\": [{\"entityId\": \"83069\", \"endOfRange\": 10000}], \"id\": \"default-rollout-28254-20745270215\"}], \"id\": \"rollout-28254-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"88610\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-30079-20745270215\", \"layerId\": \"rollout-30079-20745270215\", \"trafficAllocation\": [{\"entityId\": \"88610\", \"endOfRange\": 10000}], \"id\": \"default-rollout-30079-20745270215\"}], \"id\": \"rollout-30079-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"134587\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-44741-20745270215\", \"layerId\": \"rollout-44741-20745270215\", \"trafficAllocation\": [{\"entityId\": \"134587\", \"endOfRange\": 10000}], \"id\": \"default-rollout-44741-20745270215\"}], \"id\": \"rollout-44741-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"132144\", \"key\": \"f\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"default-rollout-43955-20745270215\", \"layerId\": \"rollout-43955-20745270215\", \"trafficAllocation\": [{\"entityId\": \"132144\", \"endOfRange\": 10000}], \"id\": \"default-rollout-43955-20745270215\"}], \"id\": \"rollout-43955-20745270215\"}, {\"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"133469\", \"key\": \"off\", \"featureEnabled\": false}], \"forcedVariations\": {}, \"key\": \"default-rollout-44383-20745270215\", \"layerId\": \"rollout-44383-20745270215\", \"trafficAllocation\": [{\"entityId\": \"133469\", \"endOfRange\": 10000}], \"id\": \"default-rollout-44383-20745270215\"}], \"id\": \"rollout-44383-20745270215\"}], \"typedAudiences\": [], \"projectId\": \"20692411876\", \"variables\": [], \"featureFlags\": [{\"experimentIds\": [\"9300000089537\"], \"rolloutId\": \"rollout-19083-20745270215\", \"variables\": [], \"id\": \"19083\", \"key\": \"wr-2155_framework_rollout\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-5921-20745270215\", \"variables\": [], \"id\": \"5921\", \"key\": \"wr-1193_mobile\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-5920-20745270215\", \"variables\": [], \"id\": \"5920\", \"key\": \"wr-1193_desktop\"}, {\"experimentIds\": [\"9300000025355\"], \"rolloutId\": \"rollout-7685-20745270215\", \"variables\": [], \"id\": \"7685\", \"key\": \"wr-1489\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-15573-20745270215\", \"variables\": [], \"id\": \"15573\", \"key\": \"wr-2096_vhs_tabs\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-14486-20745270215\", \"variables\": [], \"id\": \"14486\", \"key\": \"wr-1993_sticky\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-14487-20745270215\", \"variables\": [], \"id\": \"14487\", \"key\": \"wr-1993_outbrain\"}, {\"experimentIds\": [\"9300000034531\"], \"rolloutId\": \"rollout-9371-20745270215\", \"variables\": [], \"id\": \"9371\", \"key\": \"ad_framework_switch\"}, {\"experimentIds\": [\"9300000081421\"], \"rolloutId\": \"rollout-17630-20745270215\", \"variables\": [], \"id\": \"17630\", \"key\": \"gtb-1222\"}, {\"experimentIds\": [\"9300000092301\"], \"rolloutId\": \"rollout-19913-20745270215\", \"variables\": [], \"id\": \"19913\", \"key\": \"wr-2401_livecam_desktop_view\"}, {\"experimentIds\": [\"9300000123818\"], \"rolloutId\": \"rollout-28254-20745270215\", \"variables\": [], \"id\": \"28254\", \"key\": \"wr-2650-experiment\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-30079-20745270215\", \"variables\": [], \"id\": \"30079\", \"key\": \"wr-2518_story\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-44741-20745270215\", \"variables\": [], \"id\": \"44741\", \"key\": \"wr-2926_forecast-spaces\"}, {\"experimentIds\": [\"9300000169593\"], \"rolloutId\": \"rollout-43955-20745270215\", \"variables\": [], \"id\": \"43955\", \"key\": \"wr-3104_16days_livecam_video\"}, {\"experimentIds\": [], \"rolloutId\": \"rollout-44383-20745270215\", \"variables\": [], \"id\": \"44383\", \"key\": \"wr-3063_ad_separation\"}], \"experiments\": [{\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"57326\", \"key\": \"current\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"57327\", \"key\": \"new\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"wr-2155_framework_rollout_experiment\", \"layerId\": \"9300000067412\", \"trafficAllocation\": [{\"entityId\": \"57326\", \"endOfRange\": 9500}, {\"entityId\": \"57327\", \"endOfRange\": 10000}], \"id\": \"9300000089537\"}, {\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"21596\", \"key\": \"b\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"21594\", \"key\": \"c\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"21595\", \"key\": \"d\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"21598\", \"key\": \"a\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"wr-1489_experiment\", \"layerId\": \"9300000025152\", \"trafficAllocation\": [{\"entityId\": \"21594\", \"endOfRange\": 500}, {\"entityId\": \"21595\", \"endOfRange\": 1000}, {\"entityId\": \"21594\", \"endOfRange\": 1500}, {\"entityId\": \"21594\", \"endOfRange\": 2000}, {\"entityId\": \"21594\", \"endOfRange\": 3500}, {\"entityId\": \"21595\", \"endOfRange\": 4000}, {\"entityId\": \"21595\", \"endOfRange\": 6000}, {\"entityId\": \"21594\", \"endOfRange\": 8000}, {\"entityId\": \"21595\", \"endOfRange\": 10000}], \"id\": \"9300000025355\"}, {\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"26909\", \"key\": \"som\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"26908\", \"key\": \"cp\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"35295\", \"key\": \"cp_no_desk\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"ad_framework_switch_experiment\", \"layerId\": \"9300000031764\", \"trafficAllocation\": [{\"entityId\": \"26908\", \"endOfRange\": 100}, {\"entityId\": \"26909\", \"endOfRange\": 2500}, {\"entityId\": \"26908\", \"endOfRange\": 5000}, {\"entityId\": \"26908\", \"endOfRange\": 5100}, {\"entityId\": \"26908\", \"endOfRange\": 7600}, {\"entityId\": \"26908\", \"endOfRange\": 8400}, {\"entityId\": \"26909\", \"endOfRange\": 9000}, {\"entityId\": \"26908\", \"endOfRange\": 9600}, {\"entityId\": \"26908\", \"endOfRange\": 10000}], \"id\": \"9300000034531\"}, {\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"52658\", \"key\": \"a\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"52659\", \"key\": \"b\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"52660\", \"key\": \"c\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"52661\", \"key\": \"d\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"gtb-1222_experiment\", \"layerId\": \"9300000062067\", \"trafficAllocation\": [{\"entityId\": \"52658\", \"endOfRange\": 8500}, {\"entityId\": \"52659\", \"endOfRange\": 9000}, {\"entityId\": \"52660\", \"endOfRange\": 9500}, {\"entityId\": \"52661\", \"endOfRange\": 10000}], \"id\": \"9300000081421\"}, {\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"59675\", \"key\": \"default\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"59676\", \"key\": \"new\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"wr-2401_livecam_desktop_view_experiment\", \"layerId\": \"9300000070174\", \"trafficAllocation\": [{\"entityId\": \"59675\", \"endOfRange\": 500}, {\"entityId\": \"59676\", \"endOfRange\": 1000}, {\"entityId\": \"59675\", \"endOfRange\": 2000}, {\"entityId\": \"59676\", \"endOfRange\": 3000}, {\"entityId\": \"59675\", \"endOfRange\": 4000}, {\"entityId\": \"59676\", \"endOfRange\": 5000}, {\"entityId\": \"59675\", \"endOfRange\": 7500}, {\"entityId\": \"59676\", \"endOfRange\": 10000}], \"id\": \"9300000092301\"}, {\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"83072\", \"key\": \"a\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"83073\", \"key\": \"b\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"83074\", \"key\": \"c\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"wr-2650-experiment_experiment\", \"layerId\": \"9300000090459\", \"trafficAllocation\": [{\"entityId\": \"83072\", \"endOfRange\": 1020}, {\"entityId\": \"83073\", \"endOfRange\": 1510}, {\"entityId\": \"83074\", \"endOfRange\": 2000}, {\"entityId\": \"83072\", \"endOfRange\": 2510}, {\"entityId\": \"83073\", \"endOfRange\": 3005}, {\"entityId\": \"83074\", \"endOfRange\": 3500}, {\"entityId\": \"\", \"endOfRange\": 9000}, {\"entityId\": \"83073\", \"endOfRange\": 9500}, {\"entityId\": \"83074\", \"endOfRange\": 10000}], \"id\": \"9300000123818\"}, {\"status\": \"Running\", \"audienceConditions\": [], \"audienceIds\": [], \"variations\": [{\"variables\": [], \"id\": \"132139\", \"key\": \"a\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"132140\", \"key\": \"b\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"132141\", \"key\": \"c\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"132142\", \"key\": \"d\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"132143\", \"key\": \"e\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"132144\", \"key\": \"f\", \"featureEnabled\": true}, {\"variables\": [], \"id\": \"132145\", \"key\": \"g\", \"featureEnabled\": true}], \"forcedVariations\": {}, \"key\": \"wr-3104_16days_livecam_video_experiment\", \"layerId\": \"9300000133502\", \"trafficAllocation\": [{\"entityId\": \"132139\", \"endOfRange\": 500}, {\"entityId\": \"132140\", \"endOfRange\": 1000}, {\"entityId\": \"132141\", \"endOfRange\": 1500}, {\"entityId\": \"132142\", \"endOfRange\": 2000}, {\"entityId\": \"132143\", \"endOfRange\": 2500}, {\"entityId\": \"132144\", \"endOfRange\": 9900}, {\"entityId\": \"132145\", \"endOfRange\": 10000}], \"id\": \"9300000169593\"}], \"version\": \"4\", \"audiences\": [{\"conditions\": \"[\\\"or\\\", {\\\"match\\\": \\\"exact\\\", \\\"name\\\": \\\"$opt_dummy_attribute\\\", \\\"type\\\": \\\"custom_attribute\\\", \\\"value\\\": \\\"$opt_dummy_value\\\"}]\", \"id\": \"$opt_dummy_audience\", \"name\": \"Optimizely-Generated Audience for Backwards Compatibility\"}], \"anonymizeIP\": true, \"sdkKey\": \"Lq8QtXoyMEwkaziHKJ8Ec\", \"attributes\": [{\"id\": \"20715850695\", \"key\": \"device\"}, {\"id\": \"20936350828\", \"key\": \"wcom_country\"}, {\"id\": \"21852912529\", \"key\": \"locationCode\"}, {\"id\": \"22285361439\", \"key\": \"has_review\"}, {\"id\": \"22323900327\", \"key\": \"forecast_type\"}], \"botFiltering\": false, \"accountId\": \"3128471043\", \"events\": [{\"experimentIds\": [], \"id\": \"22372843471\", \"key\": \"snack_story_swipe\"}, {\"experimentIds\": [], \"id\": \"22457502319\", \"key\": \"review_story_swipe\"}, {\"experimentIds\": [], \"id\": \"22465872227\", \"key\": \"snack_story_click\"}, {\"experimentIds\": [], \"id\": \"22479121770\", \"key\": \"snack_story_complete\"}, {\"experimentIds\": [], \"id\": \"22486670528\", \"key\": \"review_story_complete\"}, {\"experimentIds\": [], \"id\": \"22509730652\", \"key\": \"review_story_click\"}], \"revision\": \"356\"}";
        </script>

        <script src="https://cs3.wettercomassets.com/wcomv5/assets/2.d3fbce35.js"></script><script src="https://cs3.wettercomassets.com/wcomv5/assets/wcom-framework.46345fdb.js"></script>

        <!-- WR-3063 -->
        <script>
            const mutationChangeKeys = [];

            function mutationChange(adSlot, key) {
                if (adSlot) {
                    const adSlotAttr = adSlot.getAttribute('style');
                    const childSlot = adSlot.querySelector('div[id^="wetter_"][data-google-query-id]')
                    const hiddenChild = adSlot.querySelector('div[style*="display:none;"], div[style*="display: none;"]');
                    const parent = adSlot.parentNode;

                    if (parent) {
                        if (typeof adSlotAttr === 'string'
                            && adSlotAttr.match(/display:.?none;/g) === null
                            && hiddenChild === null) {
                            parent.classList.remove('ad-loading');
                        } else {
                            parent.classList.add('ad-loading');
                        }

                        if (childSlot && mutationChangeKeys.indexOf(key) === -1) {
                            const adObserver = new MutationObserver(function (mutations) {
                                if (mutations) {
                                    const childSlotAttr = childSlot.getAttribute('style');

                                    if (typeof childSlotAttr === 'string'
                                        && childSlotAttr.match(/display:.?none;/g) === null) {
                                        parent.classList.remove('ad-loading');
                                    } else {
                                        parent.classList.add('ad-loading');
                                    }
                                }
                            });

                            adObserver.observe(childSlot, {
                                childList: true,
                                attributes: true,
                                characterData: true,
                                subtree: true,
                                attributeOldValue: true,
                                characterDataOldValue: true,
                            });

                            mutationChangeKeys.push(key);
                        }
                    }
                }
            }

            (function (){
                window.dataIsExperiment = false;
                window.dataChangeLayout = false;

                if (envLocale === 'www' && userDevice === 'desk') {
                    try {
                        if (typeof window.Wetter.framework.initAds === 'function') { // check if framework is available
                            window.dataAdVariation = window.Wetter.framework.initAds();
                            window.dataIsExperiment = true;
                            window.dataChangeLayout = ['c', 'd'].indexOf(window.dataAdVariation) > -1;
                        } else {
                            console.error('FWS: error -', 'Framework not available');
                        }
                    } catch (error) { // random error during execution -> fallback
                        console.error('FWS: error -', error);
                    }
                }
            })();
        </script>

                <!-- Google Tag Manager -->

<script>
    dataLayer = [{
        'pageCountry': 'de',
        'pageType': 'Vorhersage',
        'pageTypeDetail': 'Heute',
        'pageName': '/Deutschland/Staedteansicht/',
        'tcontent': '/hd-live-webcams/6101d54925301',
        'tcdist': '23.9',

                'pageRegion': 'Hessen',
                'pageCity': 'Kloppenheim',
                'pageId': 'DE0011578029',
                                //'visitorId': '123',
        'visitorLoginState': window.Cookies ? Cookies.get('loggedIn') : undefined,
        //'visitorLoginType': '7pass',
        //'adBlock': 'false', //ueber tagmanager
        //'internal': 'false' //ueber tagmanager
                    }];

    // WR-3063
    if (window.dataIsExperiment) {
        dataLayer[0]['adSeparation'] = window.dataAdVariation;

        (function(opts) {
            opts.traits = {
                'WR-3063': window.dataAdVariation,
            };
        })(window._sva = window._sva || {});
    }

    function wcomTagmanagerInit() {
        (function (w, d, s, l, i) {
            w[l] = w[l] || [];
            w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
            var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
            j.async = true;
            j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl;
            f.parentNode.insertBefore(j, f);
        })(window, document, 'script', 'dataLayer', 'GTM-PBZZVS');

        window.dataLayer.push({
            event: 'savedata',
            eventCategory: 'Save Data Check',
            eventAction: "connection" in window.navigator && typeof window.navigator.connection.saveData !== "undefined" ? window.navigator.connection.saveData : "unsupported",
            eventLabel: window.navigator.userAgent,
            nonInteraction: true
        });

            }

   
    </script>
<!-- End Google Tag Manager -->


        <script>
    function contentPassOnload() {
        if (typeof window.cp === 'function') {
            window.cp('create', 'd14d2899', {
                baseUrl: 'https://cpass.wetter.com',
            });

            function remember() {
                var storage = window.localStorage.getItem('wcom_cmp_pu');
                window.isPayUser = true;

                if (!storage) {
                    document.body.classList.add('wcom-cmp-pu');
                    window.localStorage.setItem('wcom_cmp_pu', window.btoa(Date.now().toString()));
                }
            }

            function remove() {
                document.body.classList.remove('wcom-cmp-pu');
                window.localStorage.removeItem('wcom_cmp_pu');
                window.isPayUser = false;
            }

            window.cp('authenticate', function (error, user) {
                if (!error && user && user.isLoggedIn() && user.hasValidSubscription()) {
                    remember();
                } else {
                    remove();
                }
            });
        }
    }

    !function(C,o,n,t,P,a,s){C['CPObject']=n;C[n]||(C[n]=function(){(C[n].q=C[n].q||[]).push(arguments)});
        C[n].l=+new Date;a=o.createElement(t);s=o.getElementsByTagName(t)[0];a.src=P;
        a.onload=contentPassOnload;
        s.parentNode.insertBefore(a,s)}(window,document,'cp','script','https://cpass.wetter.com/now.js');
</script>
                   
   

            <link rel="stylesheet" href="https://cs3.wettercomassets.com/wcomv5/assets/fw-2.0.b65f0654.css" />
       



<!-- programmatic -->



<script>
    window.adHandler = window.adHandler || { cmd: [] };
    var _wcom_som_no_consent = (window.cmpSom !== true).toString();
    var somChannels = [
        'wetter_aktuell',
        'wettervorhersage',
        'heute',
        'europa',
        'de',
        'he'
    ];

    function detectBrowser() {
        var ua = navigator.userAgent.toLocaleLowerCase();

        if (ua.indexOf('Opera') != -1 || ua.indexOf('opr') != -1) {
            return 'Opera';
        } else if (ua.indexOf('edg') != -1) {
            return 'Edge';
        } else if (ua.indexOf('chrome') != -1) {
            return 'Chrome';
        } else if (ua.indexOf('safari') != -1) {
            return 'Safari';
        } else if (ua.indexOf('firefox') != -1) {
            return 'Firefox';
        } else if (ua.indexOf('msie') != -1) {
            return 'IE';
        } else {
            return 'Unknown';
        }
    }


MadMax-FHEM

Bei mir scheint es noch zu gehen.

Welche "Version" hast du denn am Start?

Was ich aktiviert habe ist: attr Device showMatched 1

Damit solltest du sehen was "gefunden" bzw. "nicht gefunden" wurde...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Aeroschmelz

#76
Hi Joachim,

mit dem Attribut bestätigt er mir mit 


UNMATCHED_READINGS Regen5M


Dass da etwas nicht passt. Allerdings taucht der HTML Code im Quellcode der Seite auch noch auf, allerdings bin ich bei RegEx total aufgeschmissen.

Ich verwende die Version von ch.eick aus Post 52.

Viele Grüße
Marcus

Aeroschmelz

Habe den Fehler gefunden. Die Zeile für Regen5M muss so aussehen:


reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".title.*style=\"background.color.(.*?)\;\"><\/td>


Steht zwar weiter vorne, ist mir aber anicht aufgefallen.

ch.eick

#78
Moin, seit gestern bekomme ich keine Antwort mehr vom Wetter Radar.

Wenn ich die Seite im Browser aufrufe wird sie jedoch angezeigt.
Hat da jemand eine Idee?
2023.08.14 09:36:04.773 5: Niederschlag: get called with Wetter_Wolfskehlen
2023.08.14 09:36:04.774 5: Niederschlag: get found option Wetter_Wolfskehlen in attribute get01Name
2023.08.14 09:36:04.774 4: Niederschlag: get will now request Wetter_Wolfskehlen, no optional value
2023.08.14 09:36:04.775 5: Niederschlag: AddToQueue adds type get01 to URL https://www.wetter.com/deutschland/riedstadt/wolfskehlen/DE0008876012.html, no data, no headers, retry 0, initial queue len: 0
2023.08.14 09:36:04.775 5: Niederschlag: HandleSendQueue called from AddToSendQueue, qlen = 1
2023.08.14 09:36:04.775 4: Niederschlag: HandleSendQueue sends get01 with timeout 5 to https://www.wetter.com/deutschland/riedstadt/wolfskehlen/DE0008876012.html, No Data, No Header
2023.08.14 09:36:04.776 5: Niederschlag: ReadCallback called from __ANON__
2023.08.14 09:36:04.776 5: Niederschlag: Read callback Error LogLvl set to 3, regex
2023.08.14 09:36:04.776 3: Niederschlag: Read callback: Error: Cant create UDP socket:Invalid argument
2023.08.14 09:36:04.777 4: Niederschlag: Read callback: request type was get01 retry 0, no headers, no body
2023.08.14 09:36:04.777 5: Niederschlag: Read callback: body empty
2023.08.14 09:36:04.777 4: Niederschlag: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2023.08.14 09:36:04.777 5: Niederschlag: GetCookies is looking for Cookies
2023.08.14 09:36:04.777 5: Niederschlag: ExtractSid called, context get, num 01
2023.08.14 09:36:04.777 4: Niederschlag: no header to look for redirects
2023.08.14 09:36:04.778 5: Niederschlag: Read callback sets LAST_REQUEST to get01
2023.08.14 09:36:04.778 5: Niederschlag: CheckAuth decided no authentication required

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?

Zitat2023.08.14 09:36:04.776 5: Niederschlag: ReadCallback called from __ANON__
2023.08.14 09:36:04.776 5: Niederschlag: Read callback Error LogLvl set to 3, regex
2023.08.14 09:36:04.776 3: Niederschlag: Read callback: Error: Cant create UDP socket:Invalid argument
2023.08.14 09:36:04.777 4: Niederschlag: Read callback: request type was get01 retry 0, no headers, no body
2023.08.14 09:36:04.777 5: Niederschlag: Read callback: body empty
2023.08.14 09:36:04.777 4: Niederschlag: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Zitat von: MadMax-FHEM am 14 August 2023, 10:19:57Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?
Da habe ich bereits ein "update all" gemacht und einen kompletten restart des RPI4, da der letzte bereits 1/2 Jahr her war.
Das hat leider nichts gebracht.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Zitat von: ch.eick am 14 August 2023, 10:42:00
Zitat von: MadMax-FHEM am 14 August 2023, 10:19:57Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?
Da habe ich bereits ein "update all" gemacht und einen kompletten restart des RPI4, da der letzte bereits 1/2 Jahr her war.
Das hat leider nichts gebracht.

Hmm.
Habe vorgestern zufällig ;) beides einem Update unterzogen, also OS (Bullseye) und fhem.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

#82
Zitat von: MadMax-FHEM am 14 August 2023, 10:59:37
Zitat von: ch.eick am 14 August 2023, 10:42:00
Zitat von: MadMax-FHEM am 14 August 2023, 10:19:57Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?
Da habe ich bereits ein "update all" gemacht und einen kompletten restart des RPI4, da der letzte bereits 1/2 Jahr her war.
Das hat leider nichts gebracht.

Hmm.
Habe vorgestern zufällig ;) beides einem Update unterzogen, also OS (Bullseye) und fhem.

Gruß, Joachim
Andere HTTPMOD laufen bei mir jedoch noch und den upgrade habe ich erst nach dem Problem gemacht, damit ich keine alten Fehler suchen muss ;-)

Soo, nach dem apt-get im Docker Container und einem reboot des containers scheint es jetzt wieder zu laufen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#83
Hallo zusammen,
falls noch jemand meine Definition aus diesem Thread verwendet hätte ich da mal eine Korrektur.

Fehler Bild:
    Es geht um die Regen5M readings, die bei schönem Wetter nicht getrigget werden und somit falsche Werte beinhalten können.
    Auf der Webseite wird anscheinend nur bei möglichem Regen der Balken mit den 5 Minuten Werten angezeigt und ansonsten
    nur ein Text.
Du darfst diesen Dateianhang nicht ansehen.


EDIT: Im weiteren Verlauf gibt es noch eine neuere Änderung

Mit dieser Änderung habe ich den Trigger verändert und das Regen5M_Time reading gelöscht, wenn es nicht geliefert wird.
attr Niederschlag reading07DeleteIfUnmatched 1

attr Niederschlag userReadings Status_akt:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "txt")},\
Status_akt_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "num")},\
Status1h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "txt")},\
Status1h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "num")},\
Status2h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "txt")},\
Status2h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "num")}

Ich werde das mal etwas beobachten, falls sich ansonsten der Aufbau der Seite geändert hat.

Anwendung findet das bei mir im Autoshuttercontrol (ASC), wo ich ein virtuelle Brigthness Device habe. Dieses Device
definiert auch einen Trigger im ASC, wenn die Sonne im Fenster blendet. Bei Regen kann ja die Brigthness hoch sein,
trotzdem sollte es dann aber nicht blenden und das Rollo oben bleiben.
Eine der Bedingungen wäre dann soetwas
and [?Niederschlag:Status_akt_num] == 0                         ## Es regnet nicht

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

jkriegl

Die Niederschlagsprognose (5 Min-Abstand) wurde auch geändert.
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

jkriegl

Bin kein regex-Experte, so scheint es zu funktionieren
reading08Regex    
pt- pb- mr- palm-bottom-border--grey.*\W.*color:(.*?);">
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

ch.eick

#86
So, jetzt dann nochmal die Änderungen zusammen. Ich hoffe es passt jetzt wieder.
## Bei Regen5M_Time fallen jetzt einige Attribute weg, da die Zeit jetzt direkt geliefert wird.
deleteattr Niederschlag reading07OExpr
deleteattr Niederschlag reading07DeleteIfUnmatched

## Ich lese jedoch nur die erste Zeit aus dem % Minuten Raster
attr Niederschlag reading07Name Regen5M_Time
attr Niederschlag reading07Regex data-WetterNowcast data-nowcast.*\n.*\n.*nowcast-table-item.*\n.*<span>(.*?)<\/span>.*rainnowcast-color

## Für Regen5M hat ja @jkriegl die regex bereits gefunden
## Bei der OMap war zum ende hin noch ein Fehler in der Definition, der jetzt so passen sollte
attr Niederschlag reading08AutoNumLen 2
attr Niederschlag reading08DeleteIfUnmatched 1
attr Niederschlag reading08Name Regen5M
attr Niederschlag reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h(*), #eb1561:> 150 l/m²/h(*)
attr Niederschlag reading08RegOpt g
attr Niederschlag reading08Regex pt- pb- mr- palm-bottom-border--grey.*\W.*color:(.*?);;">

## Bei den userreadings habe ich den Trigger geändert
## Die my_userReadingsWetterCom() Funktion würde ich behalten, da man damit die Zeitfenster etwas zusammen fassen
## kann und einen nummerischen Wert bekommt, was bei der Auswertung angenehmer ist
attr Niederschlag userReadings Status_akt:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "txt")},\
Status_akt_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "num")},\
Status1h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "txt")},\
Status1h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "num")},\
Status2h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "txt")},\
Status2h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "num")}

Bei den Farben hat sich wohl soweit nichts geändert, was wir mal beobachten sollten.
Das reading08OMap beinhaltet Regen und Schnee zusammen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

#87
Hallo (seit) heute(?) matchen (bei mir) Regen5M_Time und Regen5M nicht mehr :-\
Aufgefallen ist es, weil bei Regen5M_Time (und damit in meinem "STATE") irgendwas mit 08:00 angezeigt wurde.
Bei UNMATCHED_READINGS dann eben: Regen5M_Time und Regen5M

Ist das nur bei mir so?

Ich bin für die Regenmengen/aktueller "Zustand" und "Forecast" auf "Niederschlagsmenge-.*" ausgewichen, zumindest das geht.

Für "Regen5M_Time" habe ich aktuell folgendes:
<div class="\[ mb \]">Letzte Aktualisierung der Vorhersage.....(.*) \(Ortszeit\)<\/div>
ist aber nicht schön :-\

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Zitat von: MadMax-FHEM am 01 Oktober 2023, 11:16:57Hallo (seit) heute(?) matchen (bei mir) Regen5M_Time und Regen5M nicht mehr :-\
Aufgefallen ist es, weil bei Regen5M_Time (und damit in meinem "STATE") irgendwas mit 08:00 angezeigt wurde.
Bei UNMATCHED_READINGS dann eben: Regen5M_Time und Regen5M

Ist das nur bei mir so?

Ich bin für die Regenmengen/aktueller "Zustand" und "Forecast" auf "Niederschlagsmenge-.*" ausgewichen, zumindest das geht.

Für "Regen5M_Time" habe ich aktuell folgendes:
<div class="\[ mb \]">Letzte Aktualisierung der Vorhersage.....(.*) \(Ortszeit\)<\/div>

Moin Joachim,
lies mal die letzten Posts, da hatten wir das schon auf die neue Webseite angepasst.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Zitat von: ch.eick am 01 Oktober 2023, 11:41:01Moin Joachim,
lies mal die letzten Posts, da hatten wir das schon auf die neue Webseite angepasst.

VG   Christian

Hallo Christian,

hmm, ok schaue ich mal.
Wobei ich eigentlich dachte aktuell zu sein ;)

Danke, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Zitat von: MadMax-FHEM am 01 Oktober 2023, 11:44:29Hallo Christian,

hmm, ok schaue ich mal.
Wobei ich eigentlich dachte aktuell zu sein ;)

Danke, Joachim
Hast Du das denn schon geändert?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Zitat von: ch.eick am 01 Oktober 2023, 11:55:03Hast Du das denn schon geändert?
Bin ich grad dran :)

Jep, eben gemacht :)

Danke, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Fakenius

Hallo, sorry, bin neu in diesem Thema ... (klappt aber super :) )

beim heutigen Schneefall wurden Farbcodes, wie z.B. #E391FE nicht zu Mengen gemappt, da sie in (meinem) reading08OMap nicht enthalten sind. Gibt es da ein Update (das ich übersehen habe) oder wo findet man die Werte für die Schneemengen? Ich würde die Erweiterungen dann gerne hier posten, sofern es weiter schneit und ich das validieren kann ;-)

Danke und Grüße
Joachim
FS20, Homematic (RaspberryMatic), Zigbee (deCONZ), LaCrosse, selbstgebaute Sensoren und Aktoren via MQTT
 (CUL, HB-RF-USB-2, Jeelink, SIGNALDuino)