Homematic Wired - Homebrew Devices

Begonnen von Thorsten Pferdekaemper, 27 April 2014, 00:13:17

Vorheriges Thema - Nächstes Thema

mago0211

Ich habe noch die letzte Version von Dirk.
Mit den gevoo Versionen hatte ich bisher immer irgendwelche Probleme, hatte aber nie Zeit es genauer zu verfolgen deshalb bin ich wieder auf die alte Version umgestiegen.

Gruß
Markus

Thorsten Pferdekaemper

Zitat von: mago0211 am 15 Juli 2015, 08:35:23
Ich habe noch die letzte Version von Dirk.
Mit den gevoo Versionen hatte ich bisher immer irgendwelche Probleme, hatte aber nie Zeit es genauer zu verfolgen deshalb bin ich wieder auf die alte Version umgestiegen.
Tja, Dirk's Version ist halt schon ein bisschen alt. Da hat sich inzwischen einiges getan.
FUIP

mago0211

Zitat von: Thorsten Pferdekaemper am 15 Juli 2015, 09:24:28
Tja, Dirk's Version ist halt schon ein bisschen alt. Da hat sich inzwischen einiges getan.

Ja ich weiß,  :-\ Aber da ich HM-Wired produktiv einsetzte brauche ich eine einigermaßen Stabile Version was mir bisher mit gevoos Versionen noch nicht gelungen ist leider  :( .

Vielleicht starte ich mal wieder einen Versuch.

Thorsten Pferdekaemper

Zitat von: mago0211 am 15 Juli 2015, 09:42:21
Ja ich weiß,  :-\ Aber da ich HM-Wired produktiv einsetzte brauche ich eine einigermaßen Stabile Version was mir bisher mit gevoos Versionen noch nicht gelungen ist leider  :( .
Ja, ich habe da zurzeit auch so meine Problemchen. Es scheint aber auch mit dem LAN-Adapter zusammenzuhängen. Etwas wenig beruhigend ist auch, dass sich gevoo das letzte Mal am 21. Juni gemeldet hat (http://forum.fhem.de/index.php/topic,10607.msg305791.html#msg305791). Vielleicht ist er auch nur im Urlaub.
FUIP

Ralf9

Zitat von: Thorsten Pferdekaemper am 15 Juli 2015, 10:23:46
Ja, ich habe da zurzeit auch so meine Problemchen. Es scheint aber auch mit dem LAN-Adapter zusammenzuhängen.

Hast Du schon versucht fhem auf eine Version vor dem 14.05.2015 downzugraden um auszuschließen, daß die Änderungen an der DevIo.pm die Ursache sind?
http://forum.fhem.de/index.php/topic,10607.msg309106.html#msg309106

Ab der Version 138 kann es bei gevoos Version zu Problemen kommen, wenn die Verbindung zwischen fhem und den HM-wired Modulen nicht stabil läuft.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Thorsten Pferdekaemper

Zitat von: Ralf9 am 15 Juli 2015, 11:11:57
Hast Du schon versucht fhem auf eine Version vor dem 14.05.2015 downzugraden um auszuschließen, daß die Änderungen an der DevIo.pm die Ursache sind?
Nein, das hatte ich noch nicht versucht. Bei mir bricht nur manchmal der Daemon ab und das auch nur auf meinem Testsystem. Einmal den Daemon über die FHEM-Oberfläche neu gestartet und es geht wieder. (Sollte das nicht automatisch passieren?)
Außerdem will ich sowieso komplett vom LAN-Adapter weg. Ich habe mir noch einen dieser USB-Adapter bestellt und werde dann damit weitermachen. Wenn die Probleme dann immer noch auftreten, wird weiter geforscht.
FUIP

Ralf9

Zitat von: Thorsten Pferdekaemper am 15 Juli 2015, 11:23:41
Außerdem will ich sowieso komplett vom LAN-Adapter weg. Ich habe mir noch einen dieser USB-Adapter bestellt und werde dann damit weitermachen. Wenn die Probleme dann immer noch auftreten, wird weiter geforscht.

Durch die Änderungen  an der DevIo.pm kann es sein, daß bei einem disconnect der reconnect nicht funktioniert.
Diese Probleme kannst Du auch beim USB-Adapter bekommen, wenn die USB-Verbindung nicht stabil läuft.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Thorsten Pferdekaemper

Zitat von: Ralf9 am 15 Juli 2015, 12:37:00
Durch die Änderungen  an der DevIo.pm kann es sein, daß bei einem disconnect der reconnect nicht funktioniert.
Diese Probleme kannst Du auch beim USB-Adapter bekommen, wenn die USB-Verbindung nicht stabil läuft.
Ist irgendwas geplant, um das Problem zu lösen? Z.B. eine eigene DevIO.pm für HM485 oder die Änderung rückgängig machen? Es ist ja schon etwas blöd, wenn man eine alte DevIO.pm benutzen muss. Womöglich funktioniert das dann mit irgendwelchen anderen Geräten nicht mehr.
FUIP

stephan-221

Hallo Thorsten,

Zitat von: Thorsten Pferdekaemper am 15 Juli 2015, 12:45:40
Ist irgendwas geplant, um das Problem zu lösen? Z.B. eine eigene DevIO.pm für HM485 oder die Änderung rückgängig machen? Es ist ja schon etwas blöd, wenn man eine alte DevIO.pm benutzen muss. Womöglich funktioniert das dann mit irgendwelchen anderen Geräten nicht mehr.

Ja leider hört man von gevoo aktuell nichts. Aber auch ich kann bestätigen, dass der USB Adapter mit dem DevIO Workaround wieder komplett stabil läuft. Habe sogar wieder nen USB-Hub dazwischen.

Jetzt kann ich mich mal ans Homebrew wagen und so meine 1W Sensoren und die Zähler im Haus einfangen und auf FHEM migrieren.
Wenn das einzeln läuft, will ich OneWire und S0 auf einen Baustein bringen.

Viele Grüße
Stephan



Ralf9

Zitat von: Thorsten Pferdekaemper am 15 Juli 2015, 12:45:40
Ist irgendwas geplant, um das Problem zu lösen? Z.B. eine eigene DevIO.pm für HM485 oder die Änderung rückgängig machen? Es ist ja schon etwas blöd, wenn man eine alte DevIO.pm benutzen muss. Womöglich funktioniert das dann mit irgendwelchen anderen Geräten nicht mehr.

Für den DevIO Workaround mußt Du die "DevIo485.pm" von der Anlage ins FHEM Verzeichnis kopieren.

Du mußt dann bei der ServerTools.pm bei der Zeile 64 bei  "require $pathFHEM . 'DevIo.pm';"   das DevIo.pm in DevIo485.pm ändern.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

#295
Hallo,

ich komme mit meinem Homebrew Modul mit Ethernet Anbindung monentan nicht so richtig weiter.
Ich verwende dazu das "MEGA 2560 R3 ATMEGA Board" und das "Ethernet Shield w5100  für Arduino Mega 2560 / Uno AR02003 H33"
Die Ethernet Routinen funktionieren soweit und in fhem geht das HM485_LAN in den state opened.

Nun habe ich das Problem, das ich nicht weiß wie ich von der  HMWRS485.cpp  die Ethernetroutinen im Hauptmodul "HMW-ethernet.ino" aufrufen kann.

in der HMW-ethernet.ino steht u.a.

#include <Ethernet.h>
#include <SPI.h>

EthernetServer server = EthernetServer(1000);      // telnet to port 1000
EthernetServer serverDebug = EthernetServer(23);
EthernetClient client;
EthernetClient clientDebug;

void setup()
{
  // initialize the ethernet device
  Ethernet.begin(mac, ip, gateway, subnet);
  // start listening for clients
  server.begin();

}


in der HMWRS485.cpp steht u.a.

void HMWRS485::receive(){

  byte rxByte;
  boolean receiveflag true;
 
while(receiveflag) {
  client = server.available();
  if (client) {
    rxByte = client.read();

    if(rxByte == FRAME_START_LONG){  // Startzeichen empfangen



Wie kann ich in der HMWRS485.cpp die folgenden Routinen aufrufen?

client = server.available();      //-> Client ist ein object

  if (client) {
    rxByte = client.read();

server.write(sendByte);



Nachtrag:
Kann es etwa so funktionieren?

In die HMW-ethernet.ino kommt:

HMWRS485 hmwrs485(&server, &serverDebug, &client);


Und in die HMWRS485.cpp kommt dann:

HMWRS485::HMWRS485(_server, _serverDebug, _client) {
server = _server;
       serverDebug = _serverDebug;
       client = _client
}

HMWRS485::~HMWRS485() {
}



Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Thorsten Pferdekaemper

#296
Zitat von: Ralf9 am 15 Juli 2015, 20:31:37
Für den DevIO Workaround mußt Du die "DevIo485.pm" von der Anlage ins FHEM Verzeichnis kopieren.
Du mußt dann bei der ServerTools.pm bei der Zeile 64 bei  "require $pathFHEM . 'DevIo.pm';"   das DevIo.pm in DevIo485.pm ändern.
Ah, ok. Das bedeutet, dass der Workaround nur HM485-Sachen betrifft. Dann werde ich das mal einbauen.

EDIT: Oh, anscheinend doch nicht. ServerTools.pm scheint zwar in der HM485-"Auslieferung" zu sein, aber auch im "normalen" FHEM. Da müsste sich mal jemand kümmern...
FUIP

Ralf9

Zitat von: Ralf9 am 15 Juli 2015, 21:14:04
Nun habe ich das Problem, das ich nicht weiß wie ich von der  HMWRS485.cpp  die Ethernetroutinen im Hauptmodul "HMW-ethernet.ino" aufrufen kann.

Kann ich dies auch mit einer Funktion mit externer Bindung lösen?

Kann es so funktionieren?

In die HMW-ethernet.ino kommt u.a.:

#include <Ethernet.h>
#include <SPI.h>

EthernetServer server = EthernetServer(1000);      // telnet to port 1000

void lanWrite(byte var) {
  server.write(var);
}



in die HMWRS485.cpp kommt u.a.

extern void lanWrite(byte)

void HMWRS485::sendbyte(byte txByte){
  lanWrite(txByte)
}



Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Thorsten Pferdekaemper

Zitat von: Ralf9 am 16 Juli 2015, 11:10:16
Kann ich dies auch mit einer Funktion mit externer Bindung lösen?

Kann es so funktionieren?

In die HMW-ethernet.ino kommt u.a.:
Hi Ralf,
könntest Du dafür einen neuen Thread aufmachen? Ich denke, das wird etwas komplexer. Außerdem hat es nicht so ganz direkt etwas mit HMW-Homebrew zu tun.

Zum Thema: Was ist genau das Problem? Du musst Dir doch sowieso eine eigene Kopie von HMWRS485.h/cpp machen. Schreib den ganzen Ethernet-Kram doch direkt dort rein. Falls Du das nicht willst, und Du die Ethernet-Geschichten im Hauptsketch behalten willst, dann mach die Methode sendbyte virtual (oder sogar pure virtual) und leite im Hauptsketch von der HMWRS485-Klasse ab. Die abgeleitete Klasse definiert dann sendbyte neu, indem sie lanWrite aufruft.

Gruß,
   Thorsten
FUIP

Ralf9

#299
Zitat von: Thorsten Pferdekaemper am 16 Juli 2015, 11:31:49
Zum Thema: Was ist genau das Problem? Du musst Dir doch sowieso eine eigene Kopie von HMWRS485.h/cpp machen. Schreib den ganzen Ethernet-Kram doch direkt dort rein.
Ich wusste nicht ob ich den ganzen Ethernet-Kram in die HMWRS485.h/cpp reinschreiben darf.
Ich habe es schon versucht die Ethernetdefinition in die HMWRS485.cpp reinzuschreiben, ich bekomme aber die Fehlermeldung, daß die Datei Ethernet.h nicht gefunden wird. Im Hauptsketch funktioniert es aber ohne Probleme.
Ich habe die Ethernet library in das entsprechende Verzeichnis /usr/share/Anduino.. kopiert.

in der HMWRS485.cpp steht u.a.

#include "HMWRS485.h"
#include <Ethernet.h>
#include <SPI.h>


Zitat von: Thorsten Pferdekaemper am 16 Juli 2015, 11:31:49
Falls Du das nicht willst, und Du die Ethernet-Geschichten im Hauptsketch behalten willst, dann mach die Methode sendbyte virtual (oder sogar pure virtual) und leite im Hauptsketch von der HMWRS485-Klasse ab. Die abgeleitete Klasse definiert dann sendbyte neu, indem sie lanWrite aufruft.

Das bekomme ich alleine nicht hin, so tief bin ich in c++ nicht drin. Referenzen, virtual und abgeleitete Klassen sind mir zu komplex.
Ich habe zwar ein c++ Buch, aber das geht nicht so sehr in die Tiefe.
Falls dies gegenüber dem Hauptsketch keine Nachteile hat, werde ich es erstmal versuchen ob ich den Ethernet-Kram in der HMWRS485.h zum laufen bekomme.

Ich denke es hat schon recht viel mit HMW-Homebrew zu tun. Das Ethernet Homebrew Modul verhält sich gegenüber fhem wie ein normales HMW-Homebrew Modul, es wird aber kein HM485d Dämon benötigt.
Falls die Ethernetroutinen in der HMWRS485.cpp nicht funktionieren oder es notwendig wird, daß die Ethernetroutinen in den Hauptsketch müssen, werde ich ein neues Thema aufmachen.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7