Homematic Wired - Homebrew Devices

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

Vorheriges Thema - Nächstes Thema

T.ihmann

Hallo Björn,

gibt es bei Dir schon etwas Neues ?  Brauchst Du vielleicht Hilfe.

Lg Thomas

mago0211

Zitat von: Bromm am 03 April 2015, 12:29:36
Gibt es denn bereits einen Homebrew IO-Aktor bzw. den HMW-IO-12-FM als funktionierende Version? Mag Markus das weiterentwickeln?
Was ist mit dem 8-Tasten-Sensor HBW-Sen-SC8? Funktioniert dieser bei Euch? Ich habe dieses Sketch ausprobiert und dazu die ClickButton.h aus dem Netz geladen, das Sketch spuckt aber Fehler aus...

Hallo Björn,

stehe vor einem ähnlichen Problem. Ich habe versucht die HBW-Sen-SC8.cpp/ino mit der Arduino IDE zu Kompilieren. Leider bekomme ich von der IDE einen Fehler.


HBW-Sen-SC8.ino:78:25: fatal error: ClickButton.h: No such file or directory
compilation terminated.
Fehler beim Kompilieren.


Wo finde ich die ClickButton.h ? Ich fühle mich blind   :(

Danke und Gruß
Markus

Thorsten Pferdekaemper

Zitat von: mago0211 am 02 Juli 2015, 22:14:09
Wo finde ich die ClickButton.h ? Ich fühle mich blind   :(
Hier vielleicht: https://code.google.com/p/clickbutton/
Gruß,
   Thorsten
FUIP

mago0211

Danke Thorsten für den Link  :D

Frage mich gerade warum ich zu blöd zum Googlen bin.  :-X

Dann werd ich mal weitermachen und versuchen das Ding an meinen Bus zu bekommen.  ::)

Gruß
Markus

mago0211

Hallo nochmal.

Ich brauche leider noch mal Hilfe  :( .

Versuche gerade den hbw_sen_sc8 (8 Fach Tasterschnittstelle) nachzubauen.

Dazu habe ich meinen Arduino Nano per Arduino IDE mit der Version von Markus aus GitHub geflasht.
Das File hbw_sen_sc8.pm habe ich nach \FHEM\lib\HM485\Devices kopiert und Fhem neugestartet.

Dann habe ich den Arduino an mein vorhandenes Bussystem mit Original Homematic-Wired-Lan-Gateway angeschlossen.

PIN D1 (TX) an Eingang A des LAN-Gateways
PIN D0 (RX) an Eingang B des LAN-Gateways


Leider legt FHEM kein neues Device an. Wenn ich auf dem hbw_sen_sc8 einen Taster Drücke Masse mit PIN A1 geschlossen. Im FHEM log sehe ich mit Verbose 5 das auch Daten ankommen:
2015.07.04 15:08:44 5: HM485_LAN dispatch ��e�����B���K
2015.07.04 15:08:44 5: SW: fd0d5453c842ffffff1e0000000168
2015.07.04 15:08:44 3: HM485_LAN: TX: (84) I[3](0,F,B)(1E) 00000001 -> 42FFFFFF [3] 68(h)
2015.07.04 15:08:45 5: HM485_LAN dispatch ��e�����B���K
2015.07.04 15:08:45 5: SW: fd0d5553c842ffffff180000000168
2015.07.04 15:08:45 3: HM485_LAN: TX: (85) I[0](0,F,B)(18) 00000001 -> 42FFFFFF [3] 68(h)
2015.07.04 15:08:45 5: HM485_LAN dispatch ��e�����B���K
2015.07.04 15:08:45 5: SW: fd0d5653c842ffffff1a0000000168
2015.07.04 15:08:45 3: HM485_LAN: TX: (86) I[1](0,F,B)(1A) 00000001 -> 42FFFFFF [3] 68(h)


Leider verstehe ich nicht warum das Device nicht angelegt wird in FHEM. Habe ich was vergessen?
Die HM485 Version ist noch die alte von Dirk da ich mit der aktuellen von gevoo noch einige Probleme habe. Liegt es vielleicht daran?

Danke und Gruß
Markus

Thorsten Pferdekaemper

Zitat von: mago0211 am 04 Juli 2015, 15:30:22
PIN D1 (TX) an Eingang A des LAN-Gateways
PIN D0 (RX) an Eingang B des LAN-Gateways
Mach das lieber nicht, da könnte was kaputt gehen.
Es fehlt Dir irgendein RS485-Buskoppler, z.B. ein MAX487.
Gruß,
   Thorsten
FUIP

mago0211

Ah Ok,

Danke für deine Antwort.
Gibt es eigentlich irgendwo einen vollständigen Schaltplan? Oder Anleitung für die Module?
Im Moment muss man sich alles zusammensammeln um auf was zu kommen und man übersieht leicht was so wie ich mit dem MAX487 Baustein.

Gruß
Markus

Thorsten Pferdekaemper

Zitat von: mago0211 am 04 Juli 2015, 16:34:07Gibt es eigentlich irgendwo einen vollständigen Schaltplan? Oder Anleitung für die Module?
Im Moment muss man sich alles zusammensammeln um auf was zu kommen und man übersieht leicht was so wie ich mit dem MAX487 Baustein.
Tja, leider ist das alles noch in Entwicklung und es ist noch nicht alles beschrieben.
Ich denke aber, dass Du gerne das Wiki ergänzen kannst.
Die Pinbelegung hängt außerdem vom Device ab. Die für das HBW-LC-Sw8 kannst Du hier finden: https://github.com/kc-GitHub/HM485-Lib/tree/markus/HBW-LC-Sw8
Ansonsten gibt's hier eine Liste: http://www.fhemwiki.de/wiki/HomeMatic_Wired (nach unten scrollen). Die Liste hat ein paar Links, so dass man das, was da ist, zumindest finden kann.
FUIP

mago0211

Zitat von: Thorsten Pferdekaemper am 04 Juli 2015, 18:30:07
Tja, leider ist das alles noch in Entwicklung und es ist noch nicht alles beschrieben.

Kein Problem, das ist nicht weiter schlimm es ist halt ein Bastelprojekt. Solange ich hier Hilfe bekomme wenn was nicht geht ist alles gut.

Zitat von: Thorsten Pferdekaemper am 04 Juli 2015, 18:30:07
Ich denke aber, dass Du gerne das Wiki ergänzen kannst.

Wenn ich es schaffe das Ding nachzubauen werde ich versuchen das Zeitlich hinzubekommen.

Danke und Gruß
Markus

Thorsten Pferdekaemper

#264
Hi,
ich bin gerade selbst mal wieder am Basteln. Ich habe dabei fest gestellt, dass die DEBUG-Versionen der Homebrew-Geräte nicht mit dem neusten FHEM-Stand zusammenarbeiten. Ich glaube, dass das irgendwie am Timing liegt. Ich werde das auch mal im Wired-Thread besprechen.
Das ganze tritt dann auf, wenn RS485 über Hardware Serial (Pin 0/1) geht und der Debug-Stream per SoftwareSerial aufgemacht wird. Es kann sein, dass es auch nur bei 8MHz-Prozessoren Probleme macht.
Also, falls es Probleme gibt, dann sollte das im Sketch stehen:

#define DEBUG_VERSION DEBUG_NONE

Gruß,
   Thorsten
FUIP

Ralf9

Hallo,

ich möchte mit dem Arduino Nano auch versuchen ein Modul nachzubauen.
Ich möchte, aber anstatt RS485 das Modul über Ethernet an fhem anbinden.

Als Ethernet Modul habe ich an das "Mini W5100 LAN Ethernet Shield Network Modul" gedacht
http://www.ebay.de/itm/New-Mini-W5100-LAN-Ethernet-Shield-Network-Module-board-Fur-Arduino-DE-TE230-/261950470314?pt=LH_DefaultDomain_77&hash=item3cfd76f8aa

Hat sich schon mal jemand mit Ethernet beim Arduino befasst? Könnte das was ich vorhabe funktionieren?

In der DevIo.pm steht in der sub DevIo_OpenDev($$$) folgendes.
Ist dies eine normale TCP Verbindung?

my $timeout = $hash->{TIMEOUT} ? $hash->{TIMEOUT} : 3;
my $conn = IO::Socket::INET->new(PeerAddr => $dev, Timeout => $timeout);
if($conn) {
delete($hash->{NEXT_OPEN});
$conn->setsockopt(SOL_SOCKET, SO_KEEPALIVE, 1) if(defined($conn));
} else {



In https://www.arduino.cc/en/reference/ethernet habe ich unter "Server class" das folgende Beispiel gefunden:

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

// the media access control (ethernet hardware) address for the shield:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
//the IP address for the shield:
byte ip[] = { 10, 0, 0, 177 };   
// the router's gateway address:
byte gateway[] = { 10, 0, 0, 1 };
// the subnet:
byte subnet[] = { 255, 255, 0, 0 };


// telnet defaults to port 23
EthernetServer server = EthernetServer(23);

void setup()
{
  // initialize the ethernet device
  Ethernet.begin(mac, ip, gateway, subnet);

  // start listening for clients
  server.begin();
}

void loop()
{
  // if an incoming client connects, there will be bytes available to read:
  EthernetClient client = server.available();
  if (client) {
    // read bytes from the incoming client and write them back
    // to any clients connected to the server:
    server.write(client.read());
  }
}


Hier wird ganz unten "client.read()" verwendet obwohl es unter der "Server class" kein read gibt.
Dies verstehe ich nicht.

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 08 Juli 2015, 13:01:31
ich möchte mit dem Arduino Nano auch versuchen ein Modul nachzubauen.
Ich möchte, aber anstatt RS485 das Modul über Ethernet an fhem anbinden.
Hi,
dann bist Du aber hier im falschen Bereich des Forums. Wenn es per Ethernet geht, dann ist es nicht mehr Homematic.
Schau mal bei "Bastelecke" oder "Sonstiges". Interessante Stichworte für Dich sind "Firmata" und "HTTPMOD".
Gruß,
   Thorsten
FUIP

Ralf9

#267
Zitat von: Thorsten Pferdekaemper am 08 Juli 2015, 18:01:27
Hi,
dann bist Du aber hier im falschen Bereich des Forums.

Ich möchte schon das Homematic wired Protokoll verwenden, nur nicht über den RS485 Bus.
Das Modul soll sich dann in fhem wie ein normales wired Modul verhalten.

Nachtrag:
Ich habe die Frage auch in der  Bastelecke gestellt.

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 08 Juli 2015, 18:23:01
Ich möchte schon das Homematic wired Protokoll verwenden, nur nicht über den RS485 Bus.
Das Modul soll sich dann in fhem wie ein normales wired Modul verhalten.
Ok, vielleicht kann man da irgendwas am HM485-Daemon ändern, so dass der direkt das Device anspricht.
Meine Frage wäre aber: Wieso das denn??? Der meiste Kram im Wired-Protokoll wird nur gebraucht, weil man Kollisionen haben kann, die Bandbreite stark limitiert ist und man selbst ein Adressierungsschema braucht. Alles das kommt bei TCP/IP sowieso nicht vor. Außerdem hat man mit HTTPMOD oder auch Firmata schon relativ einfache Einbindungen in FHEM.
Ich selbst mache den ganzen HM485-Kram eigentlich ausschließlich um Ethernet zu vermeiden.
FUIP

Ralf9

Zitat von: Thorsten Pferdekaemper am 09 Juli 2015, 19:00:41
Ok, vielleicht kann man da irgendwas am HM485-Daemon ändern, so dass der direkt das Device anspricht.
Meine Frage wäre aber: Wieso das denn??? Der meiste Kram im Wired-Protokoll wird nur gebraucht, weil man Kollisionen haben kann, die Bandbreite stark limitiert ist und man selbst ein Adressierungsschema braucht. Alles das kommt bei TCP/IP sowieso nicht vor. Außerdem hat man mit HTTPMOD oder auch Firmata schon relativ einfache Einbindungen in FHEM.

Ich habe vor dies direkt ohne den HM485-Daemon zu machen. Also so wie von fhem zum orginal HMW-LAN-GW.
Es gibt Modul-Orte wo ein LAN schon vorhanden oder einfacher hinzulegen ist als RS485.
Ich möchte HM-wired benutzen, da ich mich dort schon recht weit eingelesen und eingearbeitet habe. Ich kann dort eigene Anpassungen und Änderungen vornehmen.
Bei Firmata oder HTTPMOD müsste ich mich erst noch einlesen und einarbeiten.

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