-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unterscheidung Sensor #2
Comments
Hab da selbst was zusammenkopiert, scheint auf den ersten Blick zu funktionieren
Abschließend |
Hallo Malte, ich vermute, dass die IDs Deiner Sensoren ein anderes Format haben als meine. Meine Sensoren haben eine 4-stellige Hex-ID 15 Bit, bei denen keins der Zeichen eine spezielle Bedeutung hat, z. B. Du scheinst Sensoren einzusetzen, die keine feste ID haben und ein strukturiertes Format versenden, siehe Non-WeatherHub (TFA_2, TFA_3, TX22). Um je nach Sensor-Typ eine andere JSON-Nachricht zu erzeugen, sollte im Shell-Skript zunächst der Aufbau der ID untersucht (15-Bit / WeatherHub / Format Alternativ könnte man die Auswertung auch erst im Nachgang, also innerhalb von FHEM auf Basis des ID-Formates vornehmen. Die JSON-Nachricht wäre dann wie derzeit für alle Sensoren gleich (Properties |
Hallo, so nach langer Zeit... bemerkt das es ein Dockerfile gibt. Sehr nett! Mein Workaround passt dann nicht mehr:
So wie "ich" es verstehe werden verschiedene TFA Geräte unterschieden anhand des letzten 4 Bit. Konkret enthält mein Regensensor quasi zwei Sender: 0865bcacdff1 2 : Regensensor Jeder Sensortyp liefert aber unterschiedliche Daten. Ich würde gerne schon beim "absenden" Richtung MQTT die Bezeichner richtig haben, das ein "Regeninkrement (0,25 l/Tick) auch als z.B. Regencount erscheint und ich mir nicht merken muss das, weil die Begriffe nicht angepasst werden, Temperature im Falle des Regensensors eingetlich "regencount" meint. In meinem Fall Regensensor hat der xxxx2 Sensor als Temperaturwert den Regen - Tick, und als humidity die Zeit seit dem letzten Puls. Was auch erstmal "nur" für Weatherhub gilt.. :-( In FHEM wird die Regenmenge dann so summiert: Nebenfrage: Woher kommt das "plötzlich" in rauen Mengen? Ich bin mir keiner Schuld bewusst. Hier noch der verunglückte Versuch es selbst zu ändern
|
Anpassungen an
|
Irgendwie ist hier Dein letzter Kommentar verloren gegangen...
Oben wird beschrieben, dass der subtype="$((${sensor_id##${sensor_id%%?}} % 8))" Hilft Dir das weiter? |
Noch etwas kürzer wird es, wenn man das letzte Zeichen komplett auswertet, was laut der Doku oben auch zulässig sein dürfte: subtype="${sensor_id##${sensor_id%%?}}" |
Hallo, ja, hatte den Beitrag zurückgezogen weil mir doch etwas eingefallen war bzw. ich zuerst was anderes probieren wollte. Deine Variante, auch wenn ich diese nicht genau verstehe, ist einfacher als das was ich tue. Ich habe zuerst ein "echte" Hexwert gebaut und dann maskiert
Schein so erst einmal zu funktionieren. Also soweit, Danke! |
Dann liefere ich gern eine kurze Erläuterung nach:
Die Shell-Syntax zur Parameter-Manipulation wird hier beschrieben. Schön, dass es funktioniert. |
Hallo,
wäre es möglich das zu erweitern? Es geht darum wie man verschiedene Sensoren an einem SDR "trennen" kann
Wenn man sich die ID ansieht, so erkennt man was der Inhalt sein wird:
`a000bccd
`
Konkret:
0865bcacdff1 2 : Regensensor
0865bcacdff1 0 : Temperatursensor der im Regensensor integiert ist
Ich stelle mir vor, das es eine Fallunterscheidung gibt:
0:
message="{ \"sensor_id\":\"$sensor_id\", \"temperature\":$temperature, \"humidity\":$humidity, \"lowbat\":$lowbat, \"rssi\":$rssi }"
2:
message="{ \"sensor_id\":\"$sensor_id\", \"raincount\":$raincount, \"timediff\":$timediff, \"lowbat\":$lowbat, \"rssi\":$rssi }"
Grüße
Malte
The text was updated successfully, but these errors were encountered: