Moin Willy
Besteht die Möglichkeit, dass Du bei den TFA_.* Geräten (TRX_WEATHER) das battery-Reading aufteilen könntest?
IST:
battery ok 100%
NEU:
battery ok
batteryLevel 100
Grüße
mi.ke
Lösung hier:
https://forum.fhem.de/index.php/topic,70206.msg620232.html#msg620232
Hallo mike ,
post 23-28 https://forum.fhem.de/index.php/topic,24270.msg609450.html#msg609450 liefert Dir die sicherlich unbefriedigende Antwort :'(
Grüße Markus
Schade !
Weiss jemand wie und wo man das einbaun kann?
. . . wenn eh nix mehr geändert wird . . .
Zitat von: mi.ke am 11 April 2017, 13:23:20
Schade !
Weiss jemand wie und wo man das einbaun kann?
. . . wenn eh nix mehr geändert wird . . .
Ich schaue mir das heute abend mal an... Ich bilde mir ein, meine TFAs würden nur ein "ok" liefern...
Kannst du doch zur Not auch über ein userreading machen.
Grüße Marcel
Gesendet von iPhone mit Tapatalk
Zitat von: mi.ke am 11 April 2017, 13:23:20
Schade !
Weiss jemand wie und wo man das einbaun kann?
. . . wenn eh nix mehr geändert wird . . .
Kann es leider nicht testen, da meine Sensoren (die ich über TRX_WEATHER empfange) keinen %-Wert liefern. Probier mal angehängte Version.
Klasse, danke
Kann aber erst morgen früh testen, weil gleich Arbeit und heute abend Doppelbelastung wegen CL. :o
Läuft leider nicht rund.
Jetzt liefern die TFA_.* nur noch "ok", die "%"Angaben sind weg.
Allerdings wird kein neues Reading "batteryLevel" erstellt.
Warum du dir nicht einfach ein userReading machst, muss man nicht verstehen oder?
Mal angenommen sowas würde eingecheckt und es gibt Leute, die auf die Events des bisher vorhandenen battery Readings reagieren, haben diese Leute ein Problem. So lange du es nur für dich selbst verwendest, gibt es das natürlich nicht, aber dann ist doch ein userReading wesentlich unproblematischer und für dich einfacher konfigurierbar, als eine Änderung am Modul.
Tja, in einer Welt wie sie sein sollte , wäre in keinem Reading Einheiten oder Gemischtwaren vorhanden , so wie in diesem Fall. Ich persönlich finde es unsauber, zumal ich nicht nur einen TFA_.* nutze und das an unterschiedlichen RFXtrx.
ist dieser Thread ja nicht zu einchecken gedacht, sondern nur für die, die es nutzen wollen.
Sollte sich Willi irgendwann noch mal an ein Update machen, wäre es im Normalfall für die "Leute" eh wieder überschieben . . .
so geht's auch:
attr TFA_1 userReadings batteryLevel { ReadingsNum("$NAME","battery", 0);},
battery {(split ' ',ReadingsVal("$NAME","battery", 0))[0];}
Wahrscheinlich ist das nicht perfekt, aber ich kann's halt nicht besser.
It's a long way to the top, if you wanne Rock'n'Roll
Cheers
mi.ke
Edit:
ACHTUNG, das Beispiel funktioniert so nicht.
Warum wollte ich das über saubere Readings haben?!
Vielleicht erklärt das hier https://forum.fhem.de/index.php/topic,70169.msg616950.html#msg616950 ja meinen Frust.
Ich hab schon jeden Strohhalm rumgedreht auf der Suche nach dem "Verzögerer" und da war, unter anderem, auch der RFXtrx dabei. Und der Fehler scheint von den Vergleichsoperatoren TXT vs. NUM zu kommen.
Und da lag ein Reading wie "ok 100%" hat nah.
Nur zu Erklärung . . .
ich hatte noch 'nen Typo drin...
Das sollte jetzt funktionieren.
@All: Die angehängte TRX_WEATHER Version ändert den Inhalt des battery-readings (zu "ok" oder "low") und führt ein neues reading "batteryLevel" ein. Nicht benutzen, wenn "battery" in irgendwelchen notifies o.ä. verwendet wird.
EDIT: fehlende Null angefügt und ReadingName zu "batteryLevel" geändert.
Zitat von: KernSani am 14 April 2017, 00:12:39
ich hatte noch 'nen Typo drin...
Das sollte jetzt funktionieren.
@All: Die angehängte TRX_WEATHER Version ändert den Inhalt des battery-readings (zu "ok" oder "low") und führt ein neues reading "batterylevel" ein. Nicht benutzen, wenn "battery" in irgendwelchen notifies o.ä. verwendet wird.
batteryLevel sollte mit großem L geschrieben werden (Bezeichnungen allgmein (https://wiki.fhem.de/wiki/DevelopmentGuidelines#Bezeichnungen))
Ich trau es mich gar nicht zu sagen . . .
Das batteryLevel ist nur 2-stellig (also 10 statt 100) und tatsächlich mit kleinem "L".
Ich hab versucht im Code rum zu editieren, aber ausser dem großen "L" hab ich's nich hingebracht.
Würdest Du bitte nochmal schauen?
Vielen Dank
Zitat von: mi.ke am 14 April 2017, 17:33:09
Das batteryLevel ist nur 2-stellig (also 10 statt 100) und tatsächlich mit kleinem "L".
Beides korrigiert... und Anhang im vorherigen Post ausgetauscht.
Klasse, das funktioniert so!
Jetzt bin ich mal gespannt, ob die Verzögerungen weg sind, Test läuft . . .
Vielen, vielen Dank !
Cheers
mi.ke
PS.
Den Post setzt ich auf gelöst, und mein Beispiel des userReadings von ein paar Threads vorher markiere ich als "schlechtes Beispiel", weil's nicht funktioniert.