fheMcontrol - OpenSource mControl Server

Hier werden Erweiterungen des mediola Systems, die extern entwickelt wurden, thematisch behandelt.

fheMcontrol - OpenSource mControl Server

Beitragvon tdoe » 27. November 2011, 22:15

Code: Alles auswählen
           ___ _           ______                                   _
          / __) |         |  ___ \                  _              | |
         | |__| | _   ____| | _ | | ____ ___  ____ | |_   ____ ___ | |
         |  __) || \ / _  ) || || |/ ___) _ \|  _ \|  _) / ___) _ \| |
         | |  | | | ( (/ /| || || ( (__| |_| | | | | |__| |  | |_| | |
         |_|  |_| |_|\____)_||_||_|\____)___/|_| |_|\___)_|   \___/|_|
                                                                     


Hallo zusammen,

nachdem ich auch Steuerungsaufgaben durchführen wollte, welche aktuell mit der a.i.o. Remote nicht möglich sind, bin ich auf das mControl Protokoll aufmerksam geworden. Nach einigen Tests habe ich angefangen eine Lösung zu schreiben, durch die ich meine fhem Installation integrieren kann.
Am Ende entstand dabei: fheMcontrol
Zusätzlich zur fhem Anbindung habe ich auch einen Script-Connector hinzugefügt.
Hierdurch sind nun auch Steuerungen und Sensorabfragen mithilfe von Programmen/Scripten möglich.
Ein paar Plugins hierfür stehen ebenfalls zur Verfügung:

* Softstate
* SoftSend2
* ServerCTL

Ihr könnt die aktuelle Version (0.0.2 ;-)) von fheMcontrol von http://www.mediola-hacks.de/downloads herunterladen. Der Serverdienst ist in Perl geschrieben, somit sollte er auch auf nicht-Linux Systemen laufen, dies ist jedoch ungetestet.

Das ganze Projekt stelle ich als OpenSource zur Verfügung und möchte die Gelegenheit hier nutzen um in dieser Runde einen Aufruf zu tätigen:

Wenn jemand Lust hat, auf wie auch immer geartete Art und Weise, das Projekt zu unterstützen, unter Umständen sogar ein paar Codezeilen beizutragen, soll sich bei mir melden.

Eine "Mini"-Anleitung könnt ihr hier http://www.mediola-hacks.de/dokumentation abrufen.

Ich hoffe dass der Serverdienst auch anderen ermöglicht "unmögliche" Steuerungsaufgaben möglich zu machen ;-)

Viel Spass beim Ausprobieren...
tdoe
 
Beiträge: 136
Registriert: 29. Dezember 2010, 00:46

Re: fheMcontrol - OpenSource mControl Server

Beitragvon comlex » 27. November 2011, 23:32

Interessante Sache.
Werde ich mir mal genauer ansehen, wenn ich um Weihnachten rum mal Zeit dazu finde.

Gruß
comlex

P.S.: Auf Deiner Seite fehlt - soweit ich das in der Kürze der Zeit überblicken konnte - das Impressum. Das muss drauf, soweit ich weiss. Nicht das es da Ärger gibt.
comlex
 
Beiträge: 138
Registriert: 5. Oktober 2010, 18:17

Re: fheMcontrol - OpenSource mControl Server

Beitragvon odinz » 28. Dezember 2011, 06:51

hallo tdoe,

vielen dank für dein tolles projekt! endlich habe ich nun auch mal zeit, daß ganze bei mir zu implementieren, nur leider bekommen ich es net zum laufen! :oops:
versuche gerade testweise den temperatur- und feuchtigkeitssensor für außen ("HM-WDS10-TH-O") auf meinem fhem-server mit dem neusten svn-stand zum laufen zu bekommen. wäre toll, wenn du mir hierbei weiterhelfen könntest...

root@server:/usr/share/fhem/FHEM# fhem.pl 127.0.0.1:7072 "xmllist":
Code: Alles auswählen
...
<CUL_HM name="frei_Sensor" state="T: 7.1 H: 78" sets="pair raw reset sign statusRequest unpair " attrs="room comment alias IODev do_not_notify:1,0 ignore:0,1 showtime:1,0 loglevel:0,1,2,3,4,5,6 model subType:switch,dimmer,blindActuator,remote,sensor,swi,pushButton,threeStateSensor,motionDetector,keyMatic,winMatic,smokeDetector hmClass:receiver,sender serialNr firmware devInfo rawToReadable unit webCmd eventMap">
                        <INT key="DEF" value="16F779"/>
                        <INT key="HMCFGLAN_MSGCNT" value="1561"/>
                        <INT key="HMCFGLAN_RAWMSG" value="E16F779,0000,2853F17F,FF,FFBC,5F867016F77900000000474E"/>
                        <INT key="HMCFGLAN_RSSI" value="-68"/>
                        <INT key="HMCFGLAN_TIME" value="2011-12-28 06:43:14"/>
                        <INT key="LASTIODev" value="HMCFGLAN"/>
                        <INT key="MSGCNT" value="1561"/>
                        <INT key="NAME" value="frei_Sensor"/>
                        <INT key="NR" value="22"/>
                        <INT key="STATE" value="T: 7.1 H: 78"/>
                        <INT key="TYPE" value="CUL_HM"/>
                        <INT key="lastMsg" value="A0C5F867016F77900000000474E"/>
                        <INT key="IODev" value="HMCFGLAN"/>
                        <ATTR key="devInfo" value="030100"/>
                        <ATTR key="firmware" value="1.2"/>
                        <ATTR key="hmClass" value="sender"/>
                        <ATTR key="model" value="HM-WDS10-TH-O"/>
                        <ATTR key="room" value="4_Balkon"/>
                        <ATTR key="serialNr" value="IEQ020xxxx"/>
                        <ATTR key="subType" value="THSensor"/>
                        <STATE key="humidity" value="78" measured="2011-12-28 06:43:14"/>
                        <STATE key="state" value="T: 7.1 H: 78" measured="2011-12-28 06:43:14"/>
                        <STATE key="temperature" value="7.1" measured="2011-12-28 06:43:14"/>
                </CUL_HM>
...


cat /etc/fheMcontrol.xml:
Code: Alles auswählen
<mcontrol>
  <!-- To use FHEM you have to define a device with type fhem and set correct values -->
  <device type="fhem" ip="192.168.0.11" port="7072" />
</mcontrol>

<command type="fhem" room="value" area="4_Balkon" stateroom="" statearea="">
  <querry action="CUL_HM_LIST.CUL_HM.frei_Sensor.temperature.value" />
</command>


da die homematic-geräte bei mir nur über den lan-configadapter ("HM-CFG-LAN") angesprochen werden können, hatte ich es auch versuchsweise mal mit dem eintrag
<querry action="HMLAN_LIST.HMLAN.frei_Sensor.temperature.value" /> getestet, wobei sich hier genau die gleiche fehlermeldung beim starten von fhemcontrol ergab:

Code: Alles auswählen
root@server:/etc/init.d# /etc/init.d/fhemcontrol start
Starting fhemcontrol:
junk after document element at line 6, column 0, byte 168 at /usr/lib/perl5/XML/Parser.pm line 187

root@server:/etc/init.d#


ohne den "command"-teil kann ich fhemcontrol problemlos starten, nur das bringt mir ja so leider nix... :lol:
hab ich vielleicht noch irgendwo was vergessen oder wo liegt hier der fehler?
danke!

odinz
odinz
 
Beiträge: 17
Registriert: 18. September 2011, 02:01

Re: fheMcontrol - OpenSource mControl Server

Beitragvon tdoe » 28. Dezember 2011, 14:44

Hallo Odinz,

Soweit sieht das ganze schon gut aus, ich vermute sehr stark dass der Fehler in der "XML-URI" liegt:
Code: Alles auswählen
CUL_HM_LIST.CUL_HM.frei_Sensor.temperature.value


Würde hierfür empfehlen, den Debuglevel hochzudrehen. Anschliessend kann man sich die einzelnen Schritte ansehen, die das Tool in die XML eintaucht... (erster schritt, zeige alles innerhalb "CUL_HM_LIST", zweiter Schritt zeige mir alles unterhalb von CUL_HM.......)
Wenn dann als Ergebniss nichts ausgegeben wird, weiss du dass diese Auswahl falsch war.

In deinem Beispiel könnte ich mir vorstellen, dass die gewünschte XML-URI eine der folgende ist:

CUL_HM_LIST.CUL_HM.frei_Sensor.STATE.temperature.value
oder
CUL_HM_LIST.CUL_HM.STATE.temperature.value

Den Debug-Level kannst Du in der Perl-Datei ziemlich weit oben einstellen... (Debug=4 oder so).
Danach den Dienst neu starten und eine Anfrage absetzen.
In dem Logfile aus /var/log/ mit dem Namen fhemcontrol.log findest Du folgende "Marker":
"Current-Subtree: $VAR1 = "
Dort taucht er in die XML ein...
könnte z.B. so aussehen:

Code: Alles auswählen
1320595493 Current-Subtree: $VAR1 = 'CUL_WS_LIST';


In der nächsten zeile im Log (beginnt mit "get_querry_res") sollte dann der entsprechende Teilbereich stehen. Hast hier das falsche gewählt, ist der leer.

hier z.B., wars ein Volltreffer, in der Variable steht was drin.
Code: Alles auswählen
1320595504 get_querry_res:LINE$VAR1 = {
          'CUL_WS' => {
                      'Sensor_Aussen' => {
                                         'attrs' => 'room comment alias IODev do_not_notify:0,1 showtime:0,1 model:S300TH,KS300 logle
vel ignore:0,1 daytime eventMap',
                                         'sets' => '',
                                         'ATTR' => {
                                                   'value' => 'Sensoren',
                                                   'key' => 'room'
                                                 },
                                         'INT' => {
                                                  'CUL_TIME' => {
                                                                'value' => '2011-11-06 16:57:55'
                                                              },
                                                  'DEF' => {
                                                           'value' => '6'
                                                         },
                                                  'CUL_RAWMSG' => {
                                                                  'value' => 'K51863081F3'
                                                                },
                                                  'IODev' => {
                                                             'value' => 'CUL'
                                                           },
                                                  'corr2' => {
                                                             'value' => '0'
....
....


hier als Beispiel wurde falsch im XML abgestiegen, somit muss die XML-URI korrigiert werden.

Code: Alles auswählen
1321649277 get_querry_res:LINE$VAR1 = undef;


Wenn nicht weiter kommst, kannst mir auch dein komplettes "xmllist" von fhem, und am besten das fhemcontrol.log schicken, dann kann ich dir die komplette URI zu deinen Sensoren geben.

Gruß Tobias
tdoe
 
Beiträge: 136
Registriert: 29. Dezember 2010, 00:46

Re: fheMcontrol - OpenSource mControl Server

Beitragvon odinz » 28. Dezember 2011, 18:05

...so, bin jetzt ein wenig weiter gekommen! :)
habe nämlich das komplette perl - samt fhemcontrol - nochmal runtergeworfen und neu installiert und siehe da, nun sind auch in der fheMcontrol.xml einige beispiele vorhanden (was vorher nicht der fall war), was mich gleich auf den nächsten fehler ^^ gebracht hat: man sollte nämlich das "command-tag" auch innerhalb des "mcontrol-tags" unterbringen! dann klappt es vielleicht auch besser... ;)
jetzt startet auch der fhemcontrol ohne (perl-)probleme und ich sehe in der log ein wenig mehr, als wie nur die ganze zeit "1325090716 Starting fheMcontrol (0.0.2)"...
nun hänge ich aber wiederum an deinem letzten "beispiel":
Code: Alles auswählen
...
1325090716 FOREACH KEY: $VAR1 = undef;
...

habe hierbei schon alle möglichen kombinationen ausprobiert, jedoch immer mit dem gleichen ergebnis. daher schicke ich dir gleich mal meine daten zu. hoffentlich kannst du dort den fehler finden. danke schonmal vielmals im voraus... :P

odinz
odinz
 
Beiträge: 17
Registriert: 18. September 2011, 02:01

Re: fheMcontrol - OpenSource mControl Server

Beitragvon odinz » 7. Januar 2012, 00:38

so,

wollte nur noch mal vermelden, daß mein prob - dank der wirklich super unterstützung von tdoe 8-) - eigentlich schon seit "letztem jahr" ;) gelöst ist.
letzten endes lag es daran, daß der fhemcontrol die xml-geräteauflistung von fhem nicht abrufen konnte. da fhem und fhemcontrol bei mir auf dem selben server laufen und ich dann auch dementsprechend immer schön fleissig über 127.0.0.1 mir alles anzeigen konnte, isses doch erst recht spät aufgefallen, daß genau dies über die "globale" ip (192.168.x.x) nicht funzt! :roll: daher sollte man bei dieser konstellation entweder im fhemcontrol als fhem-ziel-ip am besten gleich auf localhost gehen.
sprich: fheMcontrol.xml
Code: Alles auswählen
<mcontrol>
      <device type="fhem" ip="192.168.x.x" port="7072" />
      ...

in
Code: Alles auswählen
<mcontrol>
      <device type="fhem" ip="127.0.0.1" port="7072" />
      ...

abändern und/oder in der fhem.cfg selbst
Code: Alles auswählen
...
attr global port 7072
...

in
Code: Alles auswählen
...
attr global port 7072 global
...

abändern! und schon funzt's auch...! :P

danke nochmals!
odinz
 
Beiträge: 17
Registriert: 18. September 2011, 02:01

Re: fheMcontrol - OpenSource mControl Server

Beitragvon tdoe » 12. Januar 2012, 18:11

Hallo zusammen,

habe heute die neue Version 0.0.3 auf http://www.mediola-hacks.de hochgeladen.
Bei den Neuerungen habe ich mich hier: http://forum.aio-control.com/viewtopic.php?f=4&t=450&p=2318#p2318
inspirieren lassen.
Deshalb wurde ein neuer Connector integriert, der Dreambox-Connector.
Mit ihm ist es auf einfache Weise möglich sich Informationen zur laufenden Sendung auf der a.i.o. Remote anzeigen zu lassen.

Tipp: Durch Einrichten einer "generic-JPEG-cam" mit der URL:
Code: Alles auswählen
http://<dream.ip>/grab?format=jpg&r=720&&v=&filename=/tmp/current

erhält man sogar einen Screenshot der laufenden Sendung.

Der bisher etwas vernachlässigte Dokumentationsbereich hat ebenfalls einen Frühjahrsputz erfahren ;-)

... bin wie immer auf Feedback angewiesen ... ;-)

Gruß Tobias
tdoe
 
Beiträge: 136
Registriert: 29. Dezember 2010, 00:46

Re: fheMcontrol - OpenSource mControl Server

Beitragvon tdoe » 26. Januar 2012, 13:13

Hallo,

mit der Dreambox Erweiterung hat sich leider ein übler Bug mit eingeschlichen, der sich dadurch ausgewirkt hat, dass der Serverdienst gestorben ist, sobald man eine Script-Aktion ausgeführt hat. Diesen konnte ich zwecks Auslandsaufenthalt nicht früher korrigieren.

In der Version 0.0.4 ist er nun gefixt.

PS: nach Anmeldung können auch Tickets eröffnet werden...

Gruß Tobias
tdoe
 
Beiträge: 136
Registriert: 29. Dezember 2010, 00:46

Re: fheMcontrol - OpenSource mControl Server

Beitragvon tdoe » 14. Februar 2012, 15:20

Hallo zusammen,

leider ist seit dem letzten Update (0.97.1) die Statusabfrage von mControl kaputt.
Somit werde ich die neue Version von fheMcontrol noch in der "Schublade" lassen, bis dies wieder behoben wurde.

Die weitere Entwicklung (Fritzbox integration) wird wohl auch erst einmal pausieren.... :-(

Gruß Tobias
tdoe
 
Beiträge: 136
Registriert: 29. Dezember 2010, 00:46

Re: fheMcontrol - OpenSource mControl Server

Beitragvon pock » 14. März 2012, 16:37

Hi Tobias,

bin scharf auf die fhemControl Integration in die FritzBox - wie lange müssten wir denn schlimmstenfalls auf die Weiternetwicklung warten ?? :shock:

Gruß

pock
pock
 

Nächste

Zurück zu 3rd Party Extensions

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast