FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: poeppe am 30 August 2013, 11:09:05

Titel: SISPM & FHEM2FHEM
Beitrag von: poeppe am 30 August 2013, 11:09:05
Hallo,

ich habe nun einige Stunden lang vergeblich versucht meine SISPM via FHEM2FHEM zum laufen zu bekommen und habe nun die Hoffnung, das Ihr mir vielleicht weiterhelfen könnt.

Vorab eine kurze Zusammenfassung der Gegebenheiten: FHEM läuft bei mir auf einem Raspberry Pi, an diesen hatte ich ursprünglich die SISPM angeschlossen (zuerst direkt, danach mit aktivem USB hub), wieso auch immer hängt sich der Raspberry nach einer gewissen Zeit/beim Schalten auf und muss neu gestartet werden. (Falls hier noch jemand eine Idee hat darf er mir natürlich auch gerne weiterhelfen... ;)). Da die SISPM vor dem Raspberry ohne Probleme an die Fritzbox funktioniert hat, hab ich die SISPM nun wieder an die Fritzbox gehängt und versuche nun mehr oder weniger erfolgreich das ganze mit FHEM2FHEM laufen zu lassen... Der aktuelle Stand der Dinge ist, das ich auf dem Raspberry zwar die Events im Event Log sehe, beim Schalten vom Raspberry aus scheitere ich dann aber leider :(

Hier nun mal die aktuellen Konfigurationen:
Fritzbox:
define PMS_0 SISPM /usr/bin/sispmctl
rename PMS_0 PMS_WZ

#SIS 1
define wz_sis1 SIS_PMS 01:06:63:97:41 1
attr wz_sis1 room Wohnzimmer

define FileLog_wz_sis1 FileLog ./log/wz_sis1-%Y.log wz_sis1
attr FileLog_wz_sis1 group SIS_PMS
attr FileLog_wz_sis1 logtype text
attr FileLog_wz_sis1 room Logfiles

#SIS 2
define wz_sis2 SIS_PMS 01:06:63:97:41 2
attr wz_sis2 room Wohnzimmer

define FileLog_wz_sis2 FileLog ./log/wz_sis2-%Y.log wz_sis2
attr FileLog_wz_sis2 group SIS_PMS
attr FileLog_wz_sis2 logtype text
attr FileLog_wz_sis2 room Logfiles

#SIS 3
define wz_sis3 SIS_PMS 01:06:63:97:41 3
attr wz_sis3 room Wohnzimmer

define FileLog_wz_sis3 FileLog ./log/wz_sis3-%Y.log wz_sis3
attr FileLog_wz_sis3 group SIS_PMS
attr FileLog_wz_sis3 logtype text
attr FileLog_wz_sis3 room Logfiles

#SIS 4
define wz_sis4 SIS_PMS 01:06:63:97:41 4
attr wz_sis4 room Wohnzimmer

define FileLog_wz_sis4 FileLog ./log/wz_sis4-%Y.log wz_sis4
attr FileLog_wz_sis4 group SIS_PMS
attr FileLog_wz_sis4 logtype text
attr FileLog_wz_sis4 room Logfiles


Raspberry:
define PMS_WZ dummy
define FHEM_FB FHEM2FHEM 192.168.2.1:7072 RAW:PMS_WZ


Beim Schalten via FHEM auf Fritzbox sehe ich die Schaltvorgänge dann auch im Event Monitor des FHEM's auf dem Raspberry:
2013-08-30 10:47:35 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 1 state off
2013-08-30 10:47:35 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 2 state off
2013-08-30 10:47:35 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 3 state off
2013-08-30 10:47:35 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 4 state off
2013-08-30 10:48:09 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 1 state off
2013-08-30 10:48:09 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 2 state off
2013-08-30 10:48:09 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 3 state off
2013-08-30 10:48:09 dummy PMS_WZ UNKNOWNCODE socket 01:06:63:97:41 4 state on


Event Monitor auf der Fritzbox:
2013-08-30 10:47:35 SIS_PMS wz_sis4 off
2013-08-30 10:47:57 SIS_PMS wz_sis4 on


So und nun stellt sich mir die Frage, was ich auf dem Raspberry in die Config schreiben muss um die PMS zu schalten. Wenn ich die Dokumentation von FHEM2FHEM richtig verstanden habe, sollte ich "PMS_WZ" auf dem Raspberry ja nicht als dummy definieren sondern eigentlich als SISPM ("define PMS_WZ SISPM /usr/bin/sispmctl"). Wenn ich das so mache, bekomme ich allerdings im Logfile folgendes:

2013.08.30 11:13:01 5: Cmd: >define PMS_WZ SISPM /usr/bin/sispmctl<
2013.08.30 11:13:01 5: Loading ./FHEM/70_SISPM.pm
2013.08.30 11:13:01 3: SISPM using "/usr/bin/sispmctl" as parameter to open(); trying ...
2013.08.30 11:13:01 3: SISPM_GetCurrentConfig: Using "/usr/bin/sispmctl" as parameter to open(); trying ...
2013.08.30 11:13:01 3: SISPM_GetCurrentConfig: Whoops? No GEMBIRD SiS-PM found.
2013.08.30 11:13:01 3: SISPM_GetCurrentConfig: Initial read done
2013.08.30 11:13:01 3: SISPM_GetCurrentConfig: No SISPM devices found.
2013.08.30 11:13:01 3: SISPM GetCurrentConfing done
2013.08.30 11:13:01 3: SISPM: An error occured: no SISPM devices found.
2013.08.30 11:13:01 1: define: no SISPM devices found.
2013.08.30 11:13:01 5: Cmd: >attr PMS_WZ dummy 1<
2013.08.30 11:13:01 3: Please define PMS_WZ first
2013.08.30 11:13:01 5: Cmd: >define FHEM_FB FHEM2FHEM 192.168.2.1:7072 RAW:PMS_WZ<
2013.08.30 11:13:01 5: Loading ./FHEM/93_FHEM2FHEM.pm
2013.08.30 11:13:01 1: define: Undefined local device PMS_WZ
2013.08.30 11:13:01 5: Cmd: >define wz_sis4 SIS_PMS 01:06:63:97:41 4<
2013.08.30 11:13:01 5: Loading ./FHEM/17_SIS_PMS.pm
2013.08.30 11:13:01 3: No I/O device found for wz_sis4
2013.08.30 11:13:01 1: configfile: no SISPM devices found.
Please define PMS_WZ first
Undefined local device PMS_WZ


Das "sispmctl" keine Geräte findet macht ja auch Sinn, demnach würde ich also so eine Art dummy SISPM brauchen, den Pfad zu "sispmctl" muss ich soweit ich das im Code gesehen habe allerdings angeben (so etwas wie "none" bei CUL (siehe Doku)scheint es bei SISPM nicht zu geben). Liege ich da soweit richtig oder ist es an der Stelle ok PMS_WZ so wie oben als dummy anzulegen? Das die Zeile "define wz_sis4 SIS_PMS 01:06:63:97:41 4" keine I/O devices findet verstehe ich ja auch, allerdings weiß ich auch hier nicht, wie ich das anders angeben sollte....

So ich hoffe mal ich habe alles einigermaßen verständlich beschrieben und hoffe das jemand so nett ist und mir helfen kann. Vielen Dank im Voraus.
Marcel
Titel: Aw: SISPM & FHEM2FHEM
Beitrag von: wollet42 am 04 September 2013, 11:02:12
Hallo,
ich stehe vor exact dem gleichen Problem.
Bist Du inzwischen weitergekommen?

Gruss,
Wolle
Titel: Aw: SISPM & FHEM2FHEM
Beitrag von: poeppe am 04 September 2013, 20:46:33
Hi Wolle,
nein ich bin bis jetzt aufgrund mangelnder Zeit leider nicht weitergekommen, ich vermute allerdings stark, dass Anpassungen in "17_SIS_PMS.pm" und "70_SISPM.pm" notwendig sind, um jeweils ein "dummy" device anzulegen.
Viele Grüße
poeppe

ps. stürzt bei dir der Raspberry mit angeschlossener SISPMS auch ab?
Titel: Aw: SISPM & FHEM2FHEM
Beitrag von: wollet42 am 04 September 2013, 21:44:56
ok, danke, hab ich befürchtet.

Ich versuche gerade das Problem über ssh Zugriff (mit Zertifikat) und remote call zu lösen.

Von der cmd line klappt es mit diesem Script:


#!/bin/sh
 cmdstring='sispmctl '$@
 ssh -i /var/mod/etc/ssh/rsa_host_key root@repeater "$cmdstring"


aber sobald ich das aus fhem aufrufe passiert nix und ich erhalte im syslog des remote host:

Sep  4 21:41:44 fritz authpriv.info dropbear[6402]: Child connection from 192.x.x.x:58204
Sep  4 21:41:44 fritz authpriv.info dropbear[6402]: Exit before auth: Error reading: Connection reset by peer


Also bricht fhem den Prozess ab. Ich hab schon diverse Versuche mit fork (&) gemacht, komme aber auch nicht weiter.

Irgend jemand eine Idee?

Gruß,
Wolle


PS ich hatte auch noch ne andere Idee probiert:


#!/bin/sh
cmdstring='sispmctl '$@
ssh -i /var/mod/etc/ssh/rsa_host_key root@repeater "$cmdstring" 1>output
scp -i /var/mod/etc/ssh/rsa_host_key root@repeater:output output
cat output


In diesem Script hab ich den stdout auf dem remote host in ne Datei geschrieben,
diese anschliessend auf den lokalen host kopiert und im lokalen stdout ausgegeben.

Dann habe ich in fhem ein SISPM definiert und das script oben als sispmctl übergeben

Damit konnte das Modul die Steckdose finden und erkennen aber weitere Kommunikation
hat leider nicht mehr geklappt.

Ich nehme an das liegt an dem file handling im SISPM fhem Modul.

Aber davon hab ich zuwenig Ahnung deshalb hab ich den Ansatz wieder verworfen.
Vielleicht bringt er ja jemand andres auf ne Idee.
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: wolly72 am 22 April 2015, 12:25:23
Hallo,

ist das Problem eigentlich gelöst?

Stehe vor dem gleichen Problem.

Gruß,
Wolly
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: Wernieman am 22 April 2015, 15:19:30
Was mir dazu einfällt:

Habe bei mir (aus anderen Gründen) ein Dummy defice definiert, nach welchen ich die SISPM schalte. Dieses hatte ich auch Regelgründen gemacht.

In Eurem Falle könntet Ihr es doch genau so machen, d.h. der Dummy ist bei beiden FHM bekannt und damit kann per FHEM2FHEM dieses durchgereicht werden. Und auf der Zielplatform wird per sispm geschaltet, wenn der Dummy geschaltet wird.

Umständlich, aber wäre doch eine Lösung?

(Habe hier eher das Problem, das sich dauernd kurzfristig die Dosen USB-technisch abmelden .. aber DAS ist ein anderes Thema)
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: wolly72 am 22 April 2015, 17:27:02
 Vom Ansatz her wollte ich das auch so machen, nur bei der Umsetzung scheitert es :-\

Auf dem "Master" habe ich dummies angelegt mit den Device Namen der Ports vom "Slave", wo die Steckdosenleiste angeschlossen ist.
Wenn ich dich richtig verstehe, müßte ich auf dem "Slave" die Schaltzustände an dummies übergeben, die dann auch auf dem "Master" vorhanden sein müssen.

Meine "Slave" config sieht so aus:

define PMS_Wohnzimmer SISPM /usr/bin/sispmctl

define FireTV SIS_PMS 01:03:be:4e:00 1
attr FireTV room EG_Wohnzimmer

define SAT SIS_PMS 01:03:be:4e:00 2
attr SAT room EG_Wohnzimmer

define TV SIS_PMS 01:03:be:4e:00 3
attr TV room EG_Wohnzimmer

define PS3 SIS_PMS 01:03:be:4e:00 4
attr PS3 room EG_Wohnzimmer


Wie muß ich denn die dummies auf dem "Slave/Master" anlegen?

Gruß,
Wolly
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: Wernieman am 22 April 2015, 19:42:21
Ich dachte es anders:
1. Auf dem Master + Slave Dummy anlegen.
2. Wenn Auf Slave der Dummy geschaltet -> localhost SISPM + übergeben.

Also z.B.
define dummy1_on notify dummy1:on set sispm1 on
define dummy1_off notify dummy1:off set sispm1 off


Weiß aber nicht, ob es so geht, da dummy1 über fhem2fhem geschaltet würde. Ist momentan auch eher eine Idee .... aber verstanden, was ich meine?

(P.S. obiger Code ohne Gewähr und ungetestet)

Edit
Damit müste zwar dummy1 (dummy2 etc. analog) an beiden Instancen angelegt werden, aber nicht der notify ....
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: wolly72 am 23 April 2015, 10:14:23
Grundsätzlich ja, allerdings bei der Umsetzung hapert es.

Auf dem "Slave" habe ich also das physikalische Device definiert:

define PMS_Wohnzimmer SISPM /usr/bin/sispmctl

define FireTV SIS_PMS 01:03:be:4e:00 1
attr FireTV room EG_Wohnzimmer


Dann zusätzlich den Dummy zum abgreifen:

define FireTV_d dummy
attr FireTV_d room dummy-room

define FireTV_on notify FireTV_d:on set FireTV on
attr FireTV_on room dummy-room

define FireTV_off notify FireTV_d:off set FireTV off
attr FireTV_off room dummy-room


aber das funktioniert schon nicht  :-\
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: Wernieman am 23 April 2015, 10:43:10
Probiere erst mal nur am Slave

also bei mir sieht es z.B. so aus:

define Hedwig dummy
attr Hedwig room SIS_PMS
attr Hedwig setList on off

define Hedwig_On notify Hedwig:on set M4 on
attr Hedwig_On room SIS_PMS

define Hedwig_Off notify Hedwig:off set M4 off
attr Hedwig_Off room SIS_PMS


Btw:
Habe immer größere Probleme, mit dem Schalten von Induktives lasten, bei mir ein aktiver Lautsprecher. irgendwo hatte ich mal eine Lösung dazu gefunden, aber wieder verlohren und ich finde sie nicht wieder. Weißt Du etwas davon?
Mein neuer Rechner scheint auf USB-Ebene empfindlicher zu sein, als mein Alter :o(
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: wolly72 am 23 April 2015, 12:35:10
Das war die fehlende Zeile: :)

attr FireTV_D setList on off


Damit kann ich mit dem "Slave Dummy" das "Slave Device" schalten, wenn ich das Device direkt schalte aktualisiert sich der Dummy aber nicht.
Daher werde ich das Device auf hidden setzen und nur den Dummy zum schalten verwenden.

Allerdings funktioniert das Schalten vom Master noch nicht

define FireTV_d dummy
attr FireTV_d room dummy-room
attr FireTV_D setList on off


Zu dem USB-Probleme kann ich leider nichs sagen, hab die Leiste erst letzte Woche bekommen :(
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: Wernieman am 23 April 2015, 12:50:53
Wie FHEM2FHEM dafür konfiguriert werden muss ... guuuute Frage.

Du könntest natürlich auch an den SISPM-Device ein notify setzten, darfst dafür dann nur nicht set verwenden um ein Loop zu vermeiden.

Übrigens heißen aus dem Grunde meine "Dummys" nicht Dummys, sondern die Dose hat einen kryptischen Namen, also bei meinem Beispiel M4, da es die 4. Dose ist.
Titel: Antw:SISPM & FHEM2FHEM
Beitrag von: wolly72 am 24 April 2015, 21:40:48
Nachdem ich meine vorherigen config Versuche aufgeräumt habe funktioniert auch das Schalten vom den Master Dummies, sie werden zwar nicht aktualisiert wenn man am Slave schaltet, das ist aber erstmal zweitrangig.

Vielen Dank für deine Hilfe.

Gruß,
Wolly