Neuartiges 1-Wire Interface

Begonnen von Prof. Dr. Peter Henning, 18 Januar 2014, 21:00:45

Vorheriges Thema - Nächstes Thema

det.

Hallo Alexander,
ja, ist genau so bei mir. Das ist auch der Grund, warum die zwei Teile immer noch auf dem Schreibtisch als Versuchsaufbau mit div. 1-wire Sensoren am Breadboard ihr Dasein fristen und nicht in den Garten umgezogen sind.
Pah hatte in Aussicht gestellt, den socat Prozess irgendwann in OWX zu integrieren, wenn ich das richtig verstanden habe. Solange warte ich eben noch - Ambilight an der Terasse und Zisternenüberwachung sind nicht lebensnotwendig.
LG
det.

Alexander Bauer

Hallo det,

zwischenzeitlich habe mir mal den Code in fhem.pl angeschaut.

Aus der aktuellen fhem.pl (so um Zeile 1374)

if($param && $param eq "restart") {
if ($^O !~ m/Win/) {
system("(sleep 2; exec $^X $0 $attr{global}{configfile})&");
} elsif ($winService->{AsAService}) {
# use the OS SCM to stop and start the service
exec('cmd.exe /C net stop fhem & net start fhem');
}


Wenn ich das richtig verstehe, startet sich bei nicht Windows System fhem selbst wieder
neu. Wenn man bei init.d Anpassung bei start und stop vorgenommen, werden diese
nicht ausgeführt?


Ciao

Alexander
--

Fhem auf Cubietruck mit Debian Wheezy und Homematic und 1-Wire

Prof. Dr. Peter Henning

Der socat Prozess schmiert in der Tat dann ab. Darum läuft auf meinem RPi ein Skript, das der watchdig-timer alle 15 Sekunden ausführt und auf darin auf das Vorhandensein von socat prüft. Wenn nicht, wird es neu gestartet ohne FHEM zu tangieren.

LG aus Tel Aviv

pah

det.

Hallo pah,
Wenn Du gesund aus dem biblischen Land zurück bist, freuen wir uns über die Veröffentlichung des kleinen Skripts mit etwas Anleitung.
Danke schon mal und noch eine schöne Zeit!
LG
det.

ntruchsess

Zitat von: matthias soll am 05 April 2014, 20:47:43
@pah das wäre natürlich das allerbeste wenn es im OWX mit eingebaut würde, kann da niemend unterstützen?

Ich kann das machen, TcpClient in OWX zum Zugriff auf DS2480 zu integrieren ist nicht so schwer.

Vorher müssen aber sowohl OWX_ASYNC als auch OWCOUNT soweit mal stabil sein. Beides könnt Ihr mit Testen und Feedback beschleunigen (die Unterstützung für DS2480 ist im OWX_ASYNC schon drin ;-))

Ich würde das ausschließlich in OWX_ASYNC einbauen, beim Ansteuern über Ethernet macht das asynchrone Lesen nämlich richtig Sinn. (Und OWX_ASYNC ist so modular, dass der Einbau relariv einfach wird).

Gruß,

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

Prof. Dr. Peter Henning

Da bin ich aber dagegen. In meinem Netz läuft die Ethernet-Verbindung so gut, dass das auch in die asynchrone Mimik hineinmuss.

Außerdem hatten wir ja die hardwarespezifischen Funktionen vom OWX getrennt - das sollten wir auch bei einer Socket-Verbindung beibehalten.

LG aus Tel Aviv

pah

ntruchsess

Zitat von: Prof. Dr. Peter Henning am 09 April 2014, 21:33:38In meinem Netz läuft die Ethernet-Verbindung so gut, dass das auch in die asynchrone Mimik hineinmuss.
hab ich was anderes gesagt?

Zitat von: Prof. Dr. Peter Henning am 09 April 2014, 21:33:38
Außerdem hatten wir ja die hardwarespezifischen Funktionen vom OWX getrennt - das sollten wir auch bei einer Socket-Verbindung beibehalten.
dito.

Gruß,

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

Prof. Dr. Peter Henning

Nein, aber ich habe das Falsche geschrieben - asynchron statt synchron. War wohl zu müde gestern abend.

Ich meinte, dass da die synchrone Abfrage ebenfalls möglich sein muss bei den Socket-Verbindungen.

LG - immer noch aus TA

pah

ntruchsess

Zitat von: Prof. Dr. Peter Henning am 10 April 2014, 06:31:36
Ich meinte, dass da die synchrone Abfrage ebenfalls möglich sein muss bei den Socket-Verbindungen.
Damit bei einem Unterbrechen der Netzwerkverbindung fhem bis zum Ende des TCP-timeouts klemmt?
Ich hab da kein Problem mit, wenn das einer schriebt und auch supportet.

Die get xxx-kommandos verhalten sich mit OWX_ASYNC übrigens alle synchron, d.h. der User muss warten bis die (frisch aktualisierten) Werte da sind. Nur das Pollem im Hintergrund läuft asynchron.

Gruß,

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

UweH

Kurzer Zwischenstand zum WLAN/1Wire-Interface...läuft und läuft und läuft...
Momentan einziger Nachteil ist der hohe Preis der speziellen RS232-geeigneten Optokoppler. Solch ein Teil kostet in der Elektronik-Apotheke mal eben 6€. Die einfache Variante mittels FET o.ä. funktioniert möglicherweise auch, muss ich ggf. noch testen.

Franz Tenbrock

Hallo, hab hier immer mal wieder im Thread gelesen, wec´he Bauteile brauche ich für so ein 1wire WLAN teil Kosten?
Ich denke das würed auch noch andere interessieren.
mfg
FT
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

UweH

Die Kosten liegen grob geschätzt zwischen 30 und 40€. Meine derzeitige Testversion ist sicher noch etwas teurer, da ich die Pegelanpassung über Optokoppler gelöst habe, die pah'sche Variante mit Spannungsteiler dürfte dabei die preiswerteste sein. Die Optokoppler hatte ich aus einem anderen Projekt noch rumliegen, daher...Die sind mit 6€ pro Stück aber auch wirklich teuer.

matthias soll

Hallo zusammen, ist jetzt jemand dabei das in OWX zu implementieren? Oder konnte noch keine Einigung gefunden werden?

ntruchsess

Zitat von: matthias soll am 22 April 2014, 18:05:44
Hallo zusammen, ist jetzt jemand dabei das in OWX zu implementieren? Oder konnte noch keine Einigung gefunden werden?

Ich hab mal einen ersten Wurf hingelegt:

00_OWX_ASYNC.pm
OWX_Executor.pm
OWX_SER.pm
OWX_DS2480.pm
21_OWAD.pm
21_OWCOUNT.pm
21_OWLCD.pm
21_OWMULTI.pm
21_OWSWITCH.pm
21_OWTHERM.pm

Das ganze basiert auf der aktuellen Developmentversion von OWX_ASYNC. Wenn mit irgendeinem Frontendmodul was nicht geht ist das Feedback daher ggf. besser im dazugehörigen Thread aufgehoben.

wird mit: define <name> OWX_ASYNC <hostname|ip>:<port> angelegt.

Unterstützt wird erst mal die grundsätzliche Connectivity, also Verbindung aufbauen und nutzen, solange sie geht. Dinge wie sauberes Wiederverbinden nach Abbruch sind noch nicht drin (das kann die USB-basierte variante bisher auch noch nicht, aber das kommt noch).

Ist allerdings komplett ungetestet, ich besitze keinen dieser Network<->Serial-adapter, wenn ich selber testen soll, muss mir einer einen schicken.

Gruß,

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

UweH

Zitat von: ntruchsess am 23 April 2014, 14:43:29
ich besitze keinen dieser Network<->Serial-adapter, wenn ich selber testen soll, muss mir einer einen schicken.
Ich kann Dir gerne einen meiner Prototypen schicken. Wenn ich Deine Adresse habe, geht das Ding auf die Reise :)