Moin,
ich versuche gerade Flusspegel auszulesen, doch die gewünschten Messstellen sind in der stations.json von Pegel-Online nicht aufgeführt. Deswegen versuche ich es "zu Fuß", beispielsweise von dieser Seite:
https://www.pegelonline.nlwkn.niedersachsen.de/Pegel/Binnenpegel/ID/213 (https://www.pegelonline.nlwkn.niedersachsen.de/Pegel/Binnenpegel/ID/213)
Den Pegel in cm und in Höhe üNN kann ich bereits von der Seite lesen. Aber mit der "Veränderung" und der "Meldestufe" habe ich Probleme.
Den Wert für "Veränderung" bekomme ich auch, allerdings immer eine Fehlermeldung im Log:
PERL WARNING: Argument "0 cm" isn't numeric in sprintf at (eval 358906) line 1
Und für die Meldestufe bekomme ich immer nur "1" zurück.
Hier meine Def:
defmod Aller_Brenneckenbrueck HTTPMOD https://www.pegelonline.nlwkn.niedersachsen.de/Pegel/Binnenpegel/ID/213
attr Aller_Brenneckenbrueck enableControlSet 1
attr Aller_Brenneckenbrueck event-on-change-reading .*
attr Aller_Brenneckenbrueck icon weather_fog
attr Aller_Brenneckenbrueck reading01Name Wasserstand
attr Aller_Brenneckenbrueck reading01RegOpt s
attr Aller_Brenneckenbrueck reading01Regex Aktuelle Messdaten.*?([\d]+.cm)
attr Aller_Brenneckenbrueck reading02Name WasserstandNN
attr Aller_Brenneckenbrueck reading02RegOpt s
attr Aller_Brenneckenbrueck reading02Regex Aktuelle Messdaten.*?([\d]+\,[\d]+.m)
attr Aller_Brenneckenbrueck reading03Name Veraenderung
attr Aller_Brenneckenbrueck reading03RegOpt s
attr Aller_Brenneckenbrueck reading03Regex Veränderung:.*?([-+]+.[\d]+.cm)
attr Aller_Brenneckenbrueck reading04Name Meldestufe
attr Aller_Brenneckenbrueck reading04RegOpt s
attr Aller_Brenneckenbrueck reading04Regex Aktuelle Meldestufe:.*?([\d])
Danke für eure Vorschläge!
Zitat von: efyzz am 05 Januar 2024, 23:23:32Ich hatte den Eindruck, dass hier schon andere sehr anwendungsspezifische Fragen gestellt hatten, aber ich mag mich irren.
Nur weil andere es falsch machen, muss man es ja nicht selbst auch tun.
Zitat von: efyzz am 05 Januar 2024, 23:23:32Aber was hast Du denn da für einen Screenshot angehangen?
Sieht so aus, als hättest Du es ausprobiert und es funktioniert bei Dir :)
Natürlich funktioniert es bei mir.
Aber ich wollte meine Antwort mit der Lösung nicht auch noch in den falschen Thread posten.
defmod Aller_Brenneckenbrueck HTTPMOD https://www.pegelonline.nlwkn.niedersachsen.de/Pegel/Binnenpegel/ID/213
attr Aller_Brenneckenbrueck reading01Name Wasserstand
attr Aller_Brenneckenbrueck reading01Regex _Wasserstand_0..(.*).cm
attr Aller_Brenneckenbrueck reading02Name WasserstandNN
attr Aller_Brenneckenbrueck reading02Regex \/.*NN[\s\+]+(\d+,\d+)
attr Aller_Brenneckenbrueck reading03Name Veraenderung
attr Aller_Brenneckenbrueck reading03Regex _VeraenderungWasserstand_0..(.*).cm
attr Aller_Brenneckenbrueck reading04Name Meldestufe
attr Aller_Brenneckenbrueck reading04Regex MeldestufenLabel">(.)
Zitat von: efyzz am 05 Januar 2024, 23:23:32Meinetwegen dann gern meinen Beitrag oben löschen. Danke!
Das kannst Du auch selbst machen.
Im Menü unter "Mehr..." gibt es auch eine Option zum Löschen.
Super, dankeschön!
ZitatDen Wert für "Veränderung" bekomme ich auch, allerdings immer eine Fehlermeldung im Log:
PERL WARNING: Argument "0 cm" isn't numeric in sprintf at (eval 358906) line 1
Das habe ich nun auch wegbekommen. Es lag gar nicht an der RegEx, sondern an meinem stateFormat ::)