ich habe das problem das mein DS2450 die gesetzten PIO werte ab und zu vergisst und dann nur noch müll misst.
dabei habe ich bemerkt das das setzen von PIO.X über ein set aus fhem nicht funktioniert. das lesen mit get geht.
über owhttp geht das setzen auch nur wenn ich im uncached zweig bin. in OWDevice beim set uncached zu verwenden hilft aber leider auch nicht.
hat jemand eine idee woran es hängt?
gruss
andre
Zitat von: justme1968 am 06 Juni 2017, 21:42:19
hat jemand eine idee woran es hängt?
Ja. Eine Unterlassung in OWDevice.pm. Kannst Du bitte mal die Subroutine wie folgt austauschen?
sub OWDevice_WriteValue($$$) {
my ($hash,$reading,$value)= @_;
my $cache= (AttrVal($hash->{NAME},"uncached","")) ? "/uncached" : "";
my $address= $hash->{fhem}{address};
my $path = "$cache/$address/$reading";
IOWrite($hash, $path, $value);
return $value;
}
Und dann nochmal mit gesetztem Attribut uncached ausprobieren?
Viele Grüße
Boris
ich hatte ich oben ungenau ausgedrückt. das attribut auszuwerten und wie beim write mit in den pfad einzubauen hatte ich gestern schon probiert. leider hat das nicht geholfen.
gruss
andre
hallo boris,
wie schon befürchtet reicht diese änderung alleine nicht aus. irgend etwas anderes passt noch nicht.
hast du noch eine idee?
gruss
andre
Hallo Andre,
ich bin ratlos. Bei Codebeschau fällt mir nichts mehr ein. Du könntest noch per main::Debug in OWServer_Write nachschauen, ob wirklich auf den richtigen Pfad geschrieben wird. Wenn das alles richtig ist, müsste man ein kleines Testprogramm schreiben, das per OWNet.pm schreibt, um zu sehen, ob das Problem in der Library steckt.
Viele Grüße
Boris
Wenn get geht und set nicht, aber trotzdem bei set auch kein Fehler gelockt wird, hat bei mir bislang immer der Austausch der Ownet.PM gemäss https://wiki.fhem.de/wiki/OWServer_%26_OWDevice#Vierte_Variante geholfen . Viele Grüße, Thorsten
Bei mir auch !
Tipp kommt ja auch von mir ...
gerade auf die schnelle mal probiert. mit dieser version bleibt mein fhem leider beim starten hängen wenn versucht wird das erste observier device zu öffnen. das muss ich in ruhe noch mal probieren.