Modul für Rutenbeck

Begonnen von Jostar, 04 Januar 2018, 13:47:34

Vorheriges Thema - Nächstes Thema

Jostar

Hallo Zusammen,

den "Fernschalter" TCR IP 4 habe ich von Rutenbeck gerade in der Erprobung. Kommt im ordentlichen Hutschinen-Gehäuse für den Einbau im Sicherungskasten und deutscher Anleitung daher. Hat ein LAN-Anschluss, 4 Eingänge für z.B. Taster und 4 Ausgänge für z.B. Lampen. Also scheinbar der perfekte Ersatz für bestehende Installationen mit Fernschaltern.
http://www.rutenbeck.de/produkte/c/fernschaltgeraete-ip/p/tcr-ip-4.html)

Es gibt auch ein Web-Frontend und die HTML-Seiten lassen sich sogar anpassen. Eine einfache Einbindung in fhem hingegen habe ich nicht finden können. Das Gerät kann zumindest auch UPD und dafür gibt es auch Beschreibungen vom Hersteller, wie die einzelnen Befehle lauten.

Habe ich etwas übersehen oder muss das nun "nur" noch zusammensgesetzt werden?

Beste Grüße
J.
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

Jostar

Ein einfache Möglichkeit die Ausgänge via FHEM zu schalten ist UDP. Anhand eines Beispiels (https://forum.fhem.de/index.php?topic=56581.0) habe ich folgendes in Betrieb, als sub für die myUtils:
sub UDP_Msg($$)
{
  my ($dest,$cmd)  = @_;
  eval "require IO::Socket::INET";
  if($@) {
    Log 1, $@;
    return "Can't load IO::Socket::INET"
  }

  my $sock = IO::Socket::INET->new(
    Proto    => 'udp',
    PeerPort => 30303,
    PeerAddr => $dest
  );

  if(!$sock) {
    return "something went wrong"
  }

  $sock->send($cmd);
  my $answer = <$sock> || '---';
  $sock->close();

  return "Nachricht '$cmd' an '$dest' gesendet, Antwort '$answer' empfangen"
}

1;


lassen sich mit dem folgenden Code-Schnipsel alle Ausgänge (OUT1...4) ein-(1) und ausschalten (0).
{UDP_Msg("192.168.178.65","OUT1 0")}

Dokumentiert ist daneben noch:
ZitatOUT1 1 (Ausgang 1 einschalten)
OUT1 0 (Ausgang 1 ausschalten)
OUT1 IMP 00:00:02 1 (z.B. 2 Sekunden EIN-Impuls ausgeben)
OUT1 IMP 00:00:02 0 (z.B. 2 Sekunden AUS-Impuls ausgeben)

Die Firmware vom TCR IP 4 ist bei mir 1.0.0.5 und kann leider nur im Werk aktualisiert werden (aktuell scheint 1.0.0.6), welches aber kostenfrei vom Hersteller angeboten wurde.

Offene Punkte:
* wie bekommt ein entsprechendes Modul fhem-externe Statusänderungen mit? (das Web-Frontend bietet zumindest rein technisch die Möglichkeit, Verzögerung kleiner 1 Sekunde)
* sollte man vielleicht doch besser auf http setzen ? (da gibt es neben http://ip/netz.html auch die Möglichkeit eigene HTML-Seiten auf dem Server zu erstellen)
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

tik-tak-tok

Hallo Jostar,

ich finde die Rutenbeck Hutschienen Aktoren genial und würde mir auch gerne einige zulegen wollen.
Hast du zufällig weitergearbeitet bzgl. eines Moduls?

Danke & Gruß,
Mike

Jostar

Nein, zu einem Modul habe ich es nicht geschafft. Ich nutze:
* HTTPMOD zum Einlesen/Setzen des Status auf http://192.168.178.114/status.xml 30 und erzeuge mir z.B. readings "led1"
* ein Dummy für die Devices (also jeweils eins Pro Kanal)
* ein Notify für das Schalten via UPD (siehe folgenden Code)

defmod notify_rutenbeck1 notify rutenbeck1.led[1-4].* {\
  fhem "setreading $SELF ergebnis $EVENT $NAME";; \
\
if ( $EVENT eq "led1: 1") {\
  fhem "set Garagenlicht on";;\
} \
if ( $EVENT eq "led1: 0") {\
  fhem "set Garagenlicht off";;\
}\
if ( $EVENT eq "led2: 1") {\
  fhem "set Apfelbaum on";;\
} \
if ( $EVENT eq "led2: 0") {\
  fhem "set Apfelbaum off";;\
}  \
if ( $EVENT eq "led3: 1") {\
  fhem "set Eingangslampe on";;\
} \
if ( $EVENT eq "led3: 0") {\
  fhem "set Eingangslampe off";;\
}\
if ( $EVENT eq "led4: 1") {\
  fhem "set Veranda on";;\
} \
if ( $EVENT eq "led4: 0") {\
  fhem "set Veranda off";;\
}\

attr notify_rutenbeck1 room rutenbeck


Der Umweg zum schalten via UPD ist leider nötig, da ich via HTTP ich nur ein Toggle hinbekomme (also egal was ich sende, ändert sich immer der Status am Ausgang). Hoffe soweit geholfen zu haben. Die Lösung funktioniert absolut stabil und parallel kann man die App (leider nur auf iOS) von Rutenbeck nutzen.


Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

Aigl

Hallo Jostar,

ich versuche gerade mit HTTPMOD den Status aus meiner Rutenbeck TC IP 1 auszulesen.
Leider bekomme ich trotz 2 Stunden testen das mit Regex nicht hin.

Wäre es möglich, daß ich einen Tipp bekomme wie du das gelöst hast?

Gruß
Aigl

Jostar

Hallo,
nicht so wirklich elegant, aber für mich hat es so funktioniert:   

http://192.168.178.114/status.xml 30
get01Name led1
get01Poll 1
get01Regex led1>([\d\.]+)<

Das komplette define:

defmod rutenbeck1 HTTPMOD http://192.168.178.114/status.xml 30
attr rutenbeck1 userattr get01Name get01Poll:0,1 get01Regex get02Name get02Poll:0,1 get02Regex get03Name get03Poll:0,1 get03Regex get04Name get04Poll:0,1 get04Regex get05Name get05Poll:0,1 get05Regex reading01Name reading01Regex reading07Name set01IMap set01Name set01URL set02IMap set02Name set02URL set03IMap set03Name set03URL set04IMap set04Name set04URL
attr rutenbeck1 comment Garagentor\
Apfelbaum\
Eingangslampe\
Wintergarten
attr rutenbeck1 enableControlSet 1
attr rutenbeck1 event-on-change-reading led[1-4],temperatur
attr rutenbeck1 get01Name led1
attr rutenbeck1 get01Poll 1
attr rutenbeck1 get01Regex led1>([\d\.]+)<
attr rutenbeck1 get02Name led2
attr rutenbeck1 get02Poll 1
attr rutenbeck1 get02Regex led2>([0-1])<
attr rutenbeck1 get03Name led3
attr rutenbeck1 get03Poll 1
attr rutenbeck1 get03Regex led3>([0-1])<
attr rutenbeck1 get04Name led4
attr rutenbeck1 get04Poll 1
attr rutenbeck1 get04Regex led4>([0-1])<
attr rutenbeck1 get05Name temperatur
attr rutenbeck1 get05Poll 1
attr rutenbeck1 get05Regex pot0>([0-9]+)<
attr rutenbeck1 reading07Name alias
attr rutenbeck1 room rutenbeck
attr rutenbeck1 set01IMap 0:Ausschalten, 1:Einschalten, 2:toggle
attr rutenbeck1 set01Name out1
attr rutenbeck1 set01URL http://192.168.178.114/leds.cgi?led=1&value=$val
attr rutenbeck1 set02IMap 0:off, 1:on, 2:toggle
attr rutenbeck1 set02Name out2
attr rutenbeck1 set02URL http://192.168.178.114/leds.cgi?led=2&value=$val
attr rutenbeck1 set03IMap 0:off, 1:on, 2:toggle
attr rutenbeck1 set03Name out3
attr rutenbeck1 set03URL http://192.168.178.114/leds.cgi?led=3&value=$val
attr rutenbeck1 set04IMap 0:off, 1:on, 2:toggle
attr rutenbeck1 set04Name out4
attr rutenbeck1 set04URL http://192.168.178.114/leds.cgi?led=4&value=$val
attr rutenbeck1 showError 1
attr rutenbeck1 showMatched 1
attr rutenbeck1 stateFormat {sprintf("%b %b %b %b T: %d °C", ReadingsNum($name,"led1",0), ReadingsNum($name,"led2",0), ReadingsNum($name,"led3",0), ReadingsNum($name,"led4",0), ReadingsNum($name,"temperatur",0))}
attr rutenbeck1 timeout 10
attr rutenbeck1 timestamp-on-change-reading led1,led2,led3,led4
attr rutenbeck1 verbose 1
attr rutenbeck1 webCmd out1 Einschalten:out1 Ausschalten:out1 toggle


Grüße!
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

rubo

#6
Hallo Zusammen,
gibt es schon weitere Erfahrungen bzgl. "TCR IP 4" Modul?
Meines wird per UDP angesteuert; funktioniert soweit auch gut, wird allerdings das Gerät abgeklemmt hängt sich FHEM auf.

99_myUtils.pm vom Jostar habe ich hochgeladen und zum ein- und auschalten nutze ich DOIF bzw. DOELSEIF

define 4_IR_Heating DOIF ([K_TCR4] eq "on") ({UDP_Msg("192.168.0.77","OUT4 1")}) DOELSEIF ([K_TCR4] eq "off") ({UDP_Msg("192.168.0.77","OUT4 0")})

Log Eintrag zu dem vg. Problem ist keiner vorhanden

Hat jemand eine Idee?

Viele Grüße
Rudiger

Jostar

#7
Hallo zusammen,

ich kenne Problem mit UDP in älteren Versionen der Firmware. Ich selbst habe 1.0.0.7 und 1.0.0.8 in Benutzung (sieht man unter "Konfiguration", ganz unten rechts am Bildschirm). Ich wüsste nicht, warum fhem abstürzen sollte und kann es auch nicht bestätigen bei mir. Ggf. die Auswertung der Rückmeldung überprüfen/weglassen:
  return "Nachricht '$cmd' an '$dest' gesendet, Antwort '$answer' empfangen"
Mit der Steuerung via http gelingt es mir "nur" zu togglen, aber nicht dediziert "on" oder "off" zu schalten.

Grüße
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

Aigl

Hallo zusammen,

leider konnte ich wegen fehlender Zeit mit FHEM in Verbindung mit dem Rutenbeck TC IP1 nicht weitermachen.

Da der Herbst naht und die Steuerung der Außenbeleuchtung endlich automatisch laufen soll, habe ich mich dem Thema wieder angenommen.

Nach Umsetzung der myUtils-Einträge von Jostar werden die UDP-Befehle scheinbar gesendet (Bild siehe Anhang), aber es tut sich nichts. D.h. die Steckdose wird nicht geschaltet.

Ich habe dann das von Rutenbeck angebotene Tool TCIPX.exe mit dem Befehl TCIPX.exe 192.168.200.63 1 1
getestet. Leider hat das dann aber auch keine Erfolg gebracht, der UDP kommt scheinbar an aber die Steckdose schaltet nicht.
Im internen LAN sind alle Protokolle offen.

Kann es sein das die TC IP1 im Vergleich zur TCR IP4 ggf. noch anders angesprochen werden muss?

Gruß
Aigl

Jostar

Welche Firmware hast du auf dem TCR IP4?
Für UPD kann ein Update nötig sein (siehe oben). Schalten kann man auch via URL, aber da habe ich nur toggle hinbekommen...
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

Jostar

Welche Firmware hast du auf dem TCR IP4?
Für UPD kann ein Update nötig sein (siehe oben). Schalten kann man auch via URL, aber da habe ich nur toggle hinbekommen...
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

Aigl

#11
Ich war mit Fa. Rutenbeck in Kontakt. Von dort bekam ich die Rückmeldung, daß meine Firmware-Version 1.0.0.1 die aktuelle für mein TC IP1 (OHNE WLAN) ist.

Ich habe gerade mal ein bisl intensiver gegoogelt und folgende HTML-Befehle für meine TC IP1 herausgefunden:

http://192.168.xxx.xxx/leds.cgi?led=1&value=Einschalten
http://192.168.xxx.xxx/leds.cgi?led=1&value=Ausschalten

Funktioniert mit angepasster IP-Adresse einwandfrei und werde ich als Rückfallebene nutzen falls ich UDP nicht zum laufen bekomme.

Aigl

Ok, die Rutenbeck toggeln wirklich "nur". Aber es ist ja immerhin hilfreich nutzbar