geliefert wird:
<div id="pos362">ANA3_1:> 25,2 °C </div>
eingelesen wird das Item mit:
String UVR1611_ANA3_1 "ANA3_1 [%s]" <temperature> (OO_UVR3) ["ANA3_1"] { http="<[blnet
und liefer 25,2. soweit so gut.
Ich sehe aber auch an anderer Stelle das z. B.:
<div id="pos366">ANA3_5:>999,9 °C </div>
das REGEX Konstrukt scheitert. Ich könnte dies mit:
String UVR1611_ANA3_5 "ANA3_5 [%s]" <temperature> (OO_UVR3) ["ANA3_5"] { http="<[blnet
natürlich einlesen, aber das hilft mir nicht wirklich weiter, denn beide Werte können abwechselnd an der gleichen Position auftauchen, wahrscheinlich sind diese Fälle zu erwarten:
ANA3_1:> 25,2 °C </div> Wert ist OK
ANA3_5:>999,9 °C </div> Kabelbruch
ANA3_C:> -----</div> nicht korrekt konfiguriert
ANA3_7:> 5,2 °C </div> mutmasslich wenn einstelliger Wert kommt
ANA3_8:> -2,8 °C </div> mutmasslich wenn einstelliger negativer Wert kommt
ANA3_8:> -12,3 °C </div> mutmasslich wenn zweistelliger negativer Wert kommt
Wie fange ich all diese unterschiedlichen Werte am Besten mit REGEX ab? Oder wie mache ich es sonst? Eine Idee war jeden Eingangswert 6 mal mit unterschiedlichem REGEX einlesen und anschließend das aussuchen was am besten passt, aber ist wirklich ideal?