Hallo allerseits,
habe mir schon einen Wolf gesucht und alles mögliche probiert,
bekomme aber diese Logeinträge nicht weg.
------
2018.03.08 22:11:19 3: get I2C read 36 4 2 : received : 74 74 | transmission: Ok
2018.03.08 22:11:19 3: get I2C read 36 2 2 : received : 208 208 | transmission: Ok
2018.03.08 21:58:08 3: get I2C read 36 4 2 : received : 63 63 | transmission: Ok
2018.03.08 21:58:08 3: get I2C read 36 2 2 : received : 204 204 | transmission: Ok
2018.03.08 21:48:08 3: get I2C read 36 4 2 : received : 54 54 | transmission: Ok
2018.03.08 21:48:08 3: get I2C read 36 2 2 : received : 202 202 | transmission: Ok
2018.03.08 21:38:08 3: get I2C read 36 4 2 : received : 44 44 | transmission: Ok
2018.03.08 21:38:08 3: get I2C read 36 2 2 : received : 201 201 | transmission: Ok
-------
Sie entstehen alle 10 Minuten durch:
Internals:
COMMAND set I2C_USV get
DEF +*00:10:00 set I2C_USV get
NAME I2C_USV_get
NR 528
NTM 11:30:27
PERIODIC yes
RELATIVE yes
REP -1
STATE Next: 11:30:27
TIMESPEC 00:10:00
TRIGGERTIME 1520591427.03001
TRIGGERTIME_FMT 2018-03-09 11:30:27
TYPE at
READINGS:
2018-03-09 11:20:27 state Next: 11:30:27
Attributes:
room U_USV_RasPi
und Aufruf von:
Internals:
NAME I2C_USV
NR 529
STATE 4.2 V | 95.4 %
TYPE dummy
READINGS:
2018-03-09 11:30:27 P_direct 95.37109375
2018-03-09 11:30:27 Percent 95.4
2018-03-09 11:30:27 Trend 0
2018-03-09 11:30:27 V_direct 4.156171875
2018-03-09 11:30:27 Voltage 4.2
2018-03-09 11:30:27 state get
Attributes:
room Check,U_USV_RasPi
stateFormat Voltage V | Percent %
userReadings V_direct {i2c_USV_Batt_Voltage},
P_direct {i2c_USV_Batt_Percent},
Voltage {sprintf("%.1f", ReadingsVal("I2C_USV","V_direct",0))},
Percent {sprintf("%.1f", ReadingsVal("I2C_USV","P_direct",0))},
Trend difference {ReadingsVal("I2C_USV","Percent",0)}
und die sub dazu:
# i2c
sub i2c_USV_Batt_Voltage()
{
my @parts = split(/ /,fhem "get I2C read 36 2 2");
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])*0.000078125 : return "9999";
}
sub i2c_USV_Batt_Percent()
{
my @parts = split(/ /,fhem "get I2C read 36 4 2");
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])/256 : return "9999";
}
( Obige Routinen sind ein übrigens ein Teilelement aus https://forum.fhem.de/index.php/topic,82460.msg745446.html#msg745446 )
verbose und suppressreading tun es nicht und eine return undef; kann ich ja nicht einbauen.
Die Funktion selbst brauche ich, die daraus folgenden Logeinträge will ich weghaben.
Hat bitte jemand noch eine Idee ???
Das kommt von der myUtils_99.pm
Hab ich auch noch nicht geschafft wegzubekommen.
Über global verbose müsste es gehen, aber das ist ja nicht Sinn der Sache.
An einer Lösung wäre ich aber auch interessiert.
Mit dem Handy online, daher kurz gefasst...
attr I2C verbose 2
Könnte eventuell genügen. Es sind ja Level 3 Einträge des I2C Gerätes.
Gruß Otto
Wie ich oben schon sagte: tut nicht
2018.03.09 12:40:27 3: get I2C read 36 4 2 : received : 95 95 | transmission: Ok
2018.03.09 12:40:27 3: get I2C read 36 2 2 : received : 207 207 | transmission: Ok
2018.03.09 12:30:27 3: get I2C read 36 4 2 : received : 95 95 | transmission: Ok
2018.03.09 12:30:27 3: get I2C read 36 2 2 : received : 207 207 | transmission: Ok
2018.03.09 12:20:27 3: get I2C read 36 4 2 : received : 95 95 | transmission: Ok
2018.03.09 12:20:27 3: get I2C read 36 2 2 : received : 207 207 | transmission: Ok
Es ist wirklich der Aufruf der myUtils.
Die ist (soweit ich das sehe) nur über global verbose zu limitieren.
Hab mich vorher noch nicht damit beschäftigt,
Eine Suche im Forum hat mich jetzt auf den letzten Post in diesem Thread gebracht:
https://forum.fhem.de/index.php/topic,70315.msg621842.html#msg621842
werde ich testen.
EDIT:
Das ist die Lösung!
Danke Ralph für diesen Thread!
Ich hatte es noch auf der Liste, aber noch nicht angegangen.
Die Anleitung ist angepasst.
Ja, das ist die Lösung,
auf welche ich zugegebenermassen nie im Leben gekommen wäre.
Habe auch eine gute Weile gesucht, bis ich kapiert habe, wo die Änderung sitzt, darum
hier nochmal für ältere Langsamdenker wie mich:
in der sub:
-----
sub i2c_USV_Batt_Voltage()
{
my @parts = split(/ /,fhem "get I2C read 36 2 2",1);
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])*0.000078125 : return "9999";
}
sub i2c_USV_Batt_Percent()
{
my @parts = split(/ /,fhem "get I2C read 36 4 2",1);
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])/256 : return "9999";
}
-------
ist in den beiden Zeilen:
alt: my @parts = split(/ /,fhem "get I2C read 36 2 2");
neu: my @parts = split(/ /,fhem "get I2C read 36 2 2",1);
nur ein ,1 hinzugekommen.
Und das machts aus.
Danke an Frank und betateilchen.
Ich habe dir zu danken!
Hatte das schon eine Weile auf der Liste, bin nur noch nicht dazu gekommen. Dein Thread war der Trigger mich endlich darum zu kümmern.
Eine Suche über Google brachte mir dann recht schnell den o.g. Thread.
Getestet, Geht. :-)
Für alle die die Anleitung neu abarbeiten ist es angepasst.
Ralph,
Ist das Thema mit dem shutdown bei dir gelöst? Oder brauchst da noch Hilfe?
Mit dem Handy online, daher kurz gefasst...
Zitat von: Frank_Huber am 09 März 2018, 19:54:15
Ralph, Ist das Thema mit dem shutdown bei dir gelöst? Oder brauchst da noch Hilfe?
Habs eingerichtet, hing am -i , kanns nun nicht testen, erst nächste Woche.
Bis neulich :-)
persönliche Anmerkung:
eigentlich ist dieser Thread nun überflüssig, da alles im Original dokumentiert ist.
Ein freundlicher Moderator könnte obiges löschen.
Zitat von: Ralph am 09 März 2018, 23:07:12
Habs eingerichtet, hing am -i , kanns nun nicht testen, erst nächste Woche.
Bis neulich :-)
persönliche Anmerkung:
eigentlich ist dieser Thread nun überflüssig, da alles im Original dokumentiert ist.
Ein freundlicher Moderator könnte obiges löschen.
Setz den thread einfach auf gelöst.
Das hilft vielleicht mal anderen suchenden. :-)
(ersten Post editieren)
Mit dem Handy online, daher kurz gefasst...