DS2890 wird nicht korrekt erkannt

Begonnen von UweH, 28 Januar 2016, 18:47:04

Vorheriges Thema - Nächstes Thema

UweH

So, bin nun doch eher zum testen gekommen. Mit der neuen OWX-Version startet FHEM nicht, folgende Meldung im Log:
OWX: Discover called with unknown interface DS2480
Angeschlossen ist ein USB-Busmaster. Mit einer alten OWX-Version startet FHEM problemlos. Ich habe es auf zwei verschiedenen Testumgebungen ausprobiert, gleiches Ergebnis. Kann ich noch was tun, um das Problem einzugrenzen?

Gruß
Uwe

Prof. Dr. Peter Henning

Klar doch. Das haben wir den nicht abgesprochenen Änderungen durch Norbert Truchsess zu verdanken. Irgendwann schmeiße ich den ganzen Müll wieder heraus...

Bitte die beiliegenden Files ebenfalls ins FHEM-Verzeichnis legen.

LG

pah

UweH

Klappt leider immer noch nicht. Trotz der zusätzlichen Dateien die Meldung (jetzt mit verbose 5):
2016.02.05 20:32:34 5: Cmd: >get 1wire_USB devices<
2016.02.05 20:32:34 1: OWX: Discover called with unknown interface DS2480
2016.02.05 20:32:34 4: name: /fhem?detail=1wire_USB&dev.get1wire_USB=1wire_USB&cmd.get1wire_USB=get&arg.get1wire_USB=devices&val.get1wire_USB=&XHR=1&addLinks=1&fw_id=116 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip


Mit einer alten 00_OWX.pm sieht ein "get 1wire_USB devices" dann wieder so aus:
2016.02.05 20:36:46 5: Cmd: >get 1wire_USB devices<
2016.02.05 20:36:47 1: OWX: 1-Wire devices found on bus 1wire_USB (Temp.AZ,OWX_28_F09339050000,OWX_2C_F29A07000000,OWX_12_36FC79000000,OWX_3A_41C002000000,LCD)
2016.02.05 20:36:47 4: name: /fhem?detail=1wire_USB&dev.get1wire_USB=1wire_USB&cmd.get1wire_USB=get&arg.get1wire_USB=devices&val.get1wire_USB=&XHR=1&addLinks=1&fw_id=130 / RL:268 / text/plain; charset=UTF-8 / Content-Encoding: gzip



Prof. Dr. Peter Henning

Diese Fehlermeldung kann es nur geben, wenn das Modul 11_OWX_SER.pm nicht gefunden wurde.

Bitte nochmal überprüfen, ob Du die oben mitgeschickten Module wirklich richtig installiert hast.

Ansonsten kannst Du das "neue" OWVAR auch selbst in das "alte" OWX eintragen. Dazu ist folgendes nötig:

1. Suche nach

  $hash->{Clients} = ":OWAD:OWCOUNT:OWID:OWLCD:OWMULTI:OWSWITCH:OWTHERM:";

Da hinein muss am Ende das neue Modul, die Zeile muss also lauten

  $hash->{Clients} = ":OWAD:OWCOUNT:OWID:OWLCD:OWMULTI:OWSWITCH:OWTHERM:OWVAR:";

2. Suche nach dem Code
   #-- Family 29 = Switch DS2408
    }elsif( $owx_f eq "29" ){
      $chip     = "DS2408";
      $acstring = "OWSWITCH DS2408"; 
    #-- Family 3A = Switch DS2413
    }elsif( $owx_f eq "3A" ){
      $chip     = "DS2413";
      $acstring = "OWSWITCH DS2413"; 


Dieser Code dient für die automatische Erkennung der Devices, da muss das neue Module auch hinein. Er muss also lauten

   #-- Family 29 = Switch DS2408
    }elsif( $owx_f eq "29" ){
      $chip     = "DS2408";
      $acstring = "OWSWITCH DS2408"; 
   #-- Family 2C = Potentiometer DS2490
    }elsif( $owx_f eq "2C" ){
      $chip     = "DS2890";
      $acstring = "OWVAR DS2890"; 
    #-- Family 3A = Switch DS2413
    }elsif( $owx_f eq "3A" ){
      $chip     = "DS2413";
      $acstring = "OWSWITCH DS2413"; 


Damit sollte auch das "alte" OWX mit dem neuen Modul zurecht kommen.

LG

pah

UweH

OK, Danke, mit dem Einfügen des Codes in eine vorherige OWX (6392) funktioniert es nun auch. Der Steckbrett-Regler dimmt hier fröhlich ein kleines 12V-Lämpchen.  :)
11_OWX_SER.pm und Kollegen sind korrekt im Pfad, steht auch was plausibles drin, Rechte sind richtig gesetzt, muss also auch aus meiner Sicht funktionieren. Ich schmeiß das nachher nochmal alles raus und installier es neu. Habe ich zwar gestern auch schon mindestens 10x gemacht, aber irgendwo ist ja ein Haken...

Gruß
Uwe

UweH

So, warum auch immer, es funktioniert nicht mit dem USB-Interface, nur über das LAN/1Wire-Interface. Ich habe gestern aber immer nur per USB getestet...
Version:
21_OWTVAR.pm       6379 2016-02-04 22:31:34Z pahenning
00_OWX.pm          2015 pahenning
11_OWX_TCP.pm      2015 - pahenning

Über das USB-Interface funktioniert es nur mit der modifizierten "alt-" OWX. Ist mir persönlich wurscht, weil ich normalerweise eh nur über LAN auf den 1wire-Bus zugreife, merkwürdig (für mich) allemal.
OWTVAR macht jedenfalls, was es soll.
Vielen Dank für die schnelle Umsetzung  :)

Gruß
Uwe

Prof. Dr. Peter Henning

Sehr mysteriös - und sollte sich nicht auf OWVAR beschränken. Bei mir bedient genau diese Software parallel vier verschiedene USB/1-Wire und zwei TCP/IP/1-Wire an einem Raspberry Pi 2.

LG

pah

UweH

Zitat von: Prof. Dr. Peter Henning am 05 Februar 2016, 06:42:03
Jetzt brauchen wir nur noch ein paar schöne Anwendungsfälle
Den ersten habe ich seit gestern realisiert, in einem Raum regelt FHEM nun über PID20 und einen 0-10V-Stellantrieb die Temperatur. Die dazugehörige Elektronik ist noch etwas provisorisch...der Wert 4,4 zeigt die ausgegebene Spannung, die auch direkt die Ventilstellung in Prozent darstellt. Läuft.

Eigentlich der falsche Thread. Diskussionen hierzu und weiteren Anwendungsfällen würde ich eher hier führen wollen.

Viele Grüße
Uwe

ntruchsess

#23
Zitat von: Prof. Dr. Peter Henning am 05 Februar 2016, 19:24:42
Irgendwann schmeiße ich den ganzen Müll wieder heraus...

Wenn dir der 'Müll' nicht passt, wieso verteilst Du Ihn dann selber?  ;) (Damit meine ich jetzt explizit meine Beiträge an den OWX-dateien, die Du hier verlinkt hast. Und ich hab explizit gar nix dagengen, dass Du das tust...)

Zur Abstimmung gehören halt immer zwei. Ich würde mal sagen, dass ist beiderseitig ins Stocken geraten, ich habe seit etwa 1 Jahr ja auch nicht mehr so viel Freizeit übrig seitdem ich nebenbei 2 Fremdsprachen lerne.

while (!asleep()) {sheep++};

Prof. Dr. Peter Henning

Sieh an, er lebt noch ...  :)

Das wird so lange weiter verteilt, wie es noch irgendwie läuft. Macht allerdings zum Einen bei vielen Usern Probleme (und Du bist eben nicht mehr verfügbar gewesen), und ist zweitens wegen der "Protothreads" immer noch keine sehr gut wartbare Lösung.

Tja, und den Wettbewerb, wer von uns beiden mehr Zeit hat, den sollten wir nicht beginnen.

LG

pah

ntruchsess

@pah: apropos Müll: bevor ich da jetzt unnötige Arbeit reinstecke (mit der 'alten' OWX-version kann ich OWVAR ja starten): kann es sein, dass Du Deine OWX-version nur mit 11_OWX_TCP.pm testest? mit 11_OWX_SER.pm läuft die nicht mehr zusammen, da gibt's dann einen Fehler wg. nicht existierender OWX_Read-funktion.

zurück zum Thema:

Ich bastel grad an einem Arduinobasierten DS2890-klon rum (basierend auf OneWireArduinoSlave-library). Ist komplett interruptgesteuert die lib - damit ist es echt einfach 1-Wire devices zu implementieren  :). Wenns stabil läuft häng ich den Sketch hier rein.
while (!asleep()) {sheep++};

UweH

Zitat von: ntruchsess am 21 Februar 2016, 19:23:25
mit 11_OWX_SER.pm läuft die nicht mehr zusammen,
Würde das erklären, warum die neue OWX-Version bei mir nicht mit dem USB-Interface läuft? Nur mit dem LAN-Interface klappt es, sobald ich zusammen mit dem USB-Stick starte, hängt FHEM in einer Endloschleife fest.
Zitat
Ich bastel grad an einem Arduinobasierten DS2890-klon rum
Auch nicht schlecht, das würde ja einiges vereinfachen.

Prof. Dr. Peter Henning

Sicher nicht - ich habe vier USB-Interfaces in Betrieb.

Was steht in Zeile 53 (version) des 11_OWX_SER ?

LG

pah

UweH


Prof. Dr. Peter Henning

Mal nen "downgrade" zur angehängten Version

LG

pah