Hallo Leute,
ich habe den ganzen Mittag rum gefummelt und es will nicht klappen. Ich möchte gerne einen ESP8266 (oder einen Arduino) als ser2net Server für die RS232 Schnittstelle meiner Buderus Heizung im Keller nutzen, so dass das FHEM dann vie ser2net auf diese Schnittstelle zugreifen kann. Ich habe mir jetzt eine kleine Code gebaut, der erstmal nur den Port aufmacht und lauscht, was da so vom FHEM Server kommt.
Hier mal der Code für einen Arduino. Der macht einen Server auf Port 8000 auf und lauscht.
// the relay server
EthernetServer server( 8000 );
// the place holder for the client
EthernetClient client;
void setup ( void ) {
// enable the serial line
Serial.begin( MM_SERBAUD );
Serial.println( "Booting up" );
// start the Ethernet
if( MM_ETH_DHCP ) {
while( Ethernet.begin( g_Eth_MAC ) == 0 ) {
Serial.println( "Failed DHCP" );
}
} else {
Ethernet.begin( g_Eth_MAC, g_Eth_IP );
}
Serial.print("IP = ");
Serial.println( Ethernet.localIP( ) );
delay( 100 );
server.begin( );
}
void loop( void ) {
// wait for a new client:
client = server.available();
// when the client sends the first byte, say hello:
if( client ) {
Serial.println( "We have a new client" );
delay( 100 );
server.write( "Hello\n" );
alreadyConnected = true;
if( client.available( ) > 0 ) {
Serial.print( "Number of bytes for reading: " );
Serial.println( client.available( ) );
for( int i = 0; i < client.available( ); i++ ) {
// read the bytes incoming from the client:
char thisChar = client.read( );
Serial.write( thisChar );
}
}
client.stop();
}
}
Auf FHEM Seiten dann
define myHeiz KM271 192.168.2.93:8000
Und wenn ich den define so setzte, dann friert FHEM ein. Dies passiert an der Stelle im KM271 Code in der DoInit Funktion
DevIo_DoSimpleRead($hash);
Mein Arduino sagt mir, dass wir einen Client haben und danach ist alles eingefroren.
Wenn ich das gleiche für meinen SMS-Guard One-Wire Gateway mache, dann geht es.
also:
define mySMS OW2S0SMSGUARD 192.168.2.93:8000 60
Ich finde aber nicht den Unterschied zwischen dem KM271 Code und dem SMSGuard Code. beide nutzen die gleichen Funktionen aus der DevIo.pm.
Kann mich jemand bitte in die richtige Richtung schubsen?
Für diejenigen, die sich fragen "was soll der Quatsch" hier mein Anwendungsfall:
meine Heizung steht im Keller

Die hat ein KM271 Kommunikationsmodul für RS232 drin, dessen Daten an den Raspi mit FHEM sollen. An allen möglichen Stellen an der Heizung habe ich auch DS18b20 Sensoren verbaut und mit einem SMS-Guard One-Wire. Beides steckt Stand heute an eine Raspi mit debian, welcher beide Schnittstellen einfach per ser2net für meinen FHEM Raspi im Netz bereit stellt.
Und nun sollen auch noch die Drucksensoren der Heizkreise via ADC angebunden werden. Und ich habe nur ein Ethernat Kabel bis zur Heizung. Ich brauche also ein gerät, das mir die RS232, die OneWire und die AD Kanäle im Netz bereit stellt, so dass die komplette Kette bis zum FHEM geschlossen ist und ich die Werte im FHEM sehen kann.
Danke !