Makros über URL mit Homematric aufrufbar

Moderator: Support1

Re: Makros über URL mit Homematric aufrufbar

Beitragvon derrapf » 8. Dezember 2013, 23:31

Hi Chris
grissli1 hat geschrieben:vielleicht hast du auch nur seltene Wünsche/Probleme die sonst keiner braucht/hat.


Ich kann mir kaum vorstellen, dass irgendjemand vernüftig mit dem Taskplaner klar kommt; zumindest nicht wenn er mehr wie eine Aufgabe hat. So exotisch kann meine Anforderung nicht sein.

Ich habe z.B. drei Tasks definiert:
"alle Geräte aus", "Radio an", "TV an"
Die sollen gemäß der Technik die mir oben empfohlen wurde, von der Homematic CCU per Knopfdruck (6-fach Schalter) ausgelöst werden.
Jetzt hat das mit einer Task gut geklappt.
Aber wenn man mehrere Tasks einrichtet, dann hat man folgende Probleme:

1) Die Liste der Aktionen wird nicht pro Task angezeigt, sondern es wird immer die Gesamtmenge
aller Aktionen aller Tasks angezeigt. Absolut unüberischtlich und unötig und völlig unverständlich auch von der
Implementierungslogik her. Wenigstens sind die zu einer Task zugehörigen Aktionen angehakt.

2) Gleiche Aktionen die in zwei Tasks benötigt werden müssen daher doppelt definiert werden!!!
(es gibt ja bloss einen Haken pro Aktion)

3) Zu allem Überfluss können die Aktionen nicht in Ihrer Reihenfolge geändert werden. Will man also eine Aktion
irgendwo einfügen ist man verratzt weil es schlicht nicht geht.
Neue Aktionen werden scheinbar alphabetisch eingefügt!
Hä? Wie soll man denn da eine Reihenfolge von Aktionen definieren, wenn man die nicht einstellen kann und die
alphabetisch ausgeführt werden?
Ich bin auch noch nicht ganz durchgestiegen wie sich die angehakten Aktionen zusammensetzen. Mit der
Reihenfolge in der idlist der devices XML-Datei haben sie aber scheinbar nichts zu tun. (siehe Bild, ihr müsst
vielleicht ein wenig nach rechts scrollen. Ich habe in dem Bild auch noch einen Screenshot der devices.xml
untergebracht, damit man die Aktionsliste mit der idlist vergleichen kann)

Bild2.jpg


Ich habe auch doppelte angehakte Aktionen (XTrend off) die in der idlist nur einmal vorkommen.
Sehr strange. Aber scheinbar ist die Reihenfolge in der idlist
wenigstens dafür verantwortlich wie die Task abgearbeitet wird.

4) Leider lassen sich bloss IR Geräte in die Aktionen einfügen und keine Homematic Geräte! Warum nicht??
Das wäre essentiell!

5) Ebenso lassen sich keine Makros als Aktionen einfügen.
Das ist maximal bescheuert, denn die Aktion "alle aus" gibt
es z.B. schon als Makro. Also warum mus sich den ganzen Mist nochmal als Task programmieren?
Wäre doch viel bequemer einfach als Aktion ein Makro einfügen zu können.
Könnte man auch einfach in das bestehende XML Schema
wie folgt integrieren:
Code: Alles auswählen
      <actions>
        <list>
          <action_device id="1" active="false" type="MAKRO" name="Alle aus">


Und wenn wir schon bei Makros sind: Liebes Mediola Team: Warum kann man nicht Makros in Makros aufrufen?!
Das wäre sicher nicht schwierig zu implementieren und würde echt viel vereinfachen.

Ich bin momentan eh auf der Schiene, dass ich lieber das devices.xml editiere als mich mit dem Taskplaner rumzuschlagen.
Aber das kann doch nicht die Lösung sein!

Ich habe das Gefühl, dass der Taskplaner nicht fertig gedacht- und genau in dem Stadium auch ausgeliefert wurde.

Also entweder ich hab was essentielles im Setup dieses Moduls übersehen oder es ist wirklich nur für eine Task brauchbar.

Ich überlege mir schon ob ich (wenn ich meine Makros eh schon manuell als Task nachbauen muss) ich das Ganze nicht gleich in der CCU mache und dann halt zig wget Befehle mit dem Aufruf der einzelnen IR Codes absetze.

Schade.

Gruss Ralf
derrapf
 
Beiträge: 53
Registriert: 10. Dezember 2012, 21:29

Re: Makros über URL mit Homematric aufrufbar

Beitragvon grissli1 » 9. Dezember 2013, 18:52

Ich verwende den Taskplaner wegen den ganzen Einschränkungen nicht und mache alles in der CCU.

Viele Grüße
Chris
Aktuelles System:
Mediola Creator-PRO (Version 1.706)
Mediola Gateway v2 IR/RF GAT-2020 (FW 2.5.5)
Android Remote (1.7.3)
Homematic CCU2 (FW 2.11.6)
TEST LXCCU
2x Harmony Hub mit 2x Smart Control
Fritzbox 7390 (FW 84.06.06)
grissli1
 
Beiträge: 813
Registriert: 28. Dezember 2011, 19:27

Re: Makros über URL mit Homematric aufrufbar

Beitragvon derrapf » 10. Dezember 2013, 00:09

Hi Chris
grissli1 hat geschrieben:Ich verwende den Taskplaner wegen den ganzen Einschränkungen nicht und mache alles in der CCU.

Wie machst Du das denn?
Die System.execs mit wget vermeide ich ja dadurch, dass ich das über den CUXd mache, aber hier werden (hab ich von Uwe gelernt) die einzelnen wgets asynchron abgesetzt; d.h. die Reihenfolge der IR-Kommandos
wär undefiniert. Und das ist ja genau nicht! das was man will in einem solchen Fall.

Mir würde da nur einfallen ein TCL Scripot zu schreiben und das per SystemExec über den CUxD aufzurufen. Ist aber halt von der Pflege her bisschen umständlich.

Ich denke der Taskplaner bedarf wirklich noch einiger Zuwendung seitens Mediola. So kann man den nicht lassen.

Gruss Ralf
derrapf
 
Beiträge: 53
Registriert: 10. Dezember 2012, 21:29

Re: Makros über URL mit Homematric aufrufbar

Beitragvon grissli1 » 10. Dezember 2013, 19:09

Hi,

IR Code Makros verwende ich überhaupt nicht in Tasks. Meinte damit, dass ich alle zeitbasierten Aktionen usw ber CCU erledige.
IR Codes in der CCU müsstest du einzeln per Script über CUxD und jeden dann zeitversetzt erledigen lassen.
Also WENN .... DANN Script 1 verzögert um 1 Sekunde UND Script 2 verzögert um 2 Sekunden ....
Ob das auch über ein Script alleine funktioniert weiß ich leider nicht. Da kann man dir aber im HM-Forum besser helfen.

Viele Grüße
Chris
Aktuelles System:
Mediola Creator-PRO (Version 1.706)
Mediola Gateway v2 IR/RF GAT-2020 (FW 2.5.5)
Android Remote (1.7.3)
Homematic CCU2 (FW 2.11.6)
TEST LXCCU
2x Harmony Hub mit 2x Smart Control
Fritzbox 7390 (FW 84.06.06)
grissli1
 
Beiträge: 813
Registriert: 28. Dezember 2011, 19:27

Re: Makros über URL mit Homematric aufrufbar

Beitragvon Fonzo » 10. Dezember 2013, 23:42

derrapf hat geschrieben:Hi Chris
grissli1 hat geschrieben:Ich verwende den Taskplaner wegen den ganzen Einschränkungen nicht und mache alles in der CCU.

Wie machst Du das denn?

Ich benutzte den Taskplaner auch nicht. Ich nutze für komplexe Vorgänge IP-Symcon. Die AIO Remote ist bei mir zu einer schicken Anzeige und Eingabe Oberfläche verkommen. Alle anderen Sachen inclusive absetzten von IR Befehlen oder Schalten von FS20, Intertechno usw. realisiere ich, indem ich von der AIO Remote einen Befehl an IP-Symcon schicke, dies führt den Befehl aus bzw. schickt ein Befehl an das AIO Gateway und pusht dann auch den passenden Status zurück an die AIO Remote.
Denon AVR 4311, Dreambox 8000, Xtreamer Prodigy, Samsung LE40C750, Epson EH TW 3600, DVBViewer, IP-Symcon 4, IT Stecker, FS20 Aktoren, Dual-Mask Tension Multiformat Leinwand, RedEye, Homematic CCU2, Wetter OC3, Philips HUE, FireTV, AppleTV 3, Plex
Fonzo
 
Beiträge: 1177
Registriert: 8. Oktober 2010, 08:59

Re: Makros über URL mit Homematric aufrufbar

Beitragvon derrapf » 11. Dezember 2013, 23:13

Hallo Chris, Fonzo
Fonzo hat geschrieben:Ich benutzte den Taskplaner auch nicht. Ich nutze für komplexe Vorgänge IP-Symcon. Die AIO Remote ist bei mir zu einer schicken Anzeige und Eingabe Oberfläche verkommen. Alle anderen Sachen inclusive absetzten von IR Befehlen oder Schalten von FS20, Intertechno usw. realisiere ich, indem ich von der AIO Remote einen Befehl an IP-Symcon schicke, dies führt den Befehl aus bzw. schickt ein Befehl an das AIO Gateway und pusht dann auch den passenden Status zurück an die AIO Remote.


Da war es wieder: Das magische Wort "IP-Symcon", an dem ich ständig vorbeischramme.
Manno! Ich muss immer wieder feststellen, dass das scheinbar die Geheimwaffe für alle denkbaren Problemchen ist, aber ich hab ehrlich gesagt noch nicht genug Leidensdruck, als dass ich mir 'ne IP-Symcon Lizenz + einen 24/7 Rechner gönne der meine eh schon viel zu hohe Stromrechnung weiter in die Stratosphäre katapultieren würde. Solange IP-Symcon nicht auf einem Rasperry läuft, ist das glaube ich noch keine Option für mich ;-)

Aber der Ansatz ist an sich nicht schlecht.
Was genau sendest Du denn von der AIO Remote an IP-Symcon? IP-Symcon muss dann ja ein http Kommando mit der entsprechenden IR Hex-Tapete an das Gateway schicken. Heisst das Du hast die ganzen IR Codes in IP-Symcon verwaltet und nicht im aio Creator? Und wie pusht man den Status zurück an die Remote?
Vielleicht geht das ja auch alles mit der CCU.

At Chris: Genau wegen dieser Asynchronität und der dadurch notwendigen Verzögerung (deren Ausführung nicht mal deterministisch ist, weil ich ja nur Annahmen über die Laufzeit machen kann), würde ich die IR-Codes eben nacheinander über ein TCL Script aufrufen. Und vor allem um eine Überflutung der CCU mit systemExecs zu verhindern. Obwohl .... ob die ein CCU-Script macht oder ein TCL Script ist wahrscheinlich kein Unterschied.
Hmmm.
Gibt es eigentlich die Möglichkeit mit einem http-Kommando mehrere IR Codes nacheinander zu senden? Dann brauch ich nur ein SystemExec. Ich hab noch keinen Trick gefunden, aber vielleicht geht sowas ja?



Gruss Ralf
derrapf
 
Beiträge: 53
Registriert: 10. Dezember 2012, 21:29

Re: Makros über URL mit Homematric aufrufbar

Beitragvon Fonzo » 14. Dezember 2013, 20:18

derrapf hat geschrieben:Solange IP-Symcon nicht auf einem Rasperry läuft, ist das glaube ich noch keine Option für mich ;-)


Bei mir läuft der Server sowieso, da ist es dann auch egal ob noch IP-Symcon darauf mit läuft. Nur zur Heimautomation ist das vielleicht wirklich etwas viel. Der neue AIO Server läuft ja auch auf einem Rasberry. Ich habe mich damit aber noch nicht auseinandergesetzt, da ich IP-Symcon für mächtiger halte als den AIO Server und außerdem darauf bisher ja alles läuft was ich will.

derrapf hat geschrieben:Was genau sendest Du denn von der AIO Remote an IP-Symcon? IP-Symcon muss dann ja ein http Kommando mit der entsprechenden IR Hex-Tapete an das Gateway schicken. Heisst das Du hast die ganzen IR Codes in IP-Symcon verwaltet und nicht im aio Creator? Und wie pusht man den Status zurück an die Remote?
Vielleicht geht das ja auch alles mit der CCU.


In frühen Zeiten habe ich die mControl Schnittstelle benutzt, zu dieser Zeit gab es weder die Möglichkeit http Befehle zu senden noch das IP-Symcon Modul von Mediola. Inzwischen nutze ich einfach das IP-Symcon Modul von Mediola, dies erspart mir das viele manuelle anpassen. Mit den IP-Symcon Modul werden alle Instanzen aus IP-Symcon in Mediola eingelesen und dort zuweisbar gemacht. Man kann dann per Knopfdruck in der AIO Remote ein Script in IP-Symcon ausführen. Dies ist fürs erste zwar ok aber sicher noch keine tolle Lösung. Dazu wäre es wichtig von der AIO Remote auch Variableninhalte an IP-Symcon übergeben zu können.
Das von der AIO Remote aus gestartete Sprict in IP-Symcon schaltet dann ein Gerät bzw. schickt einen Befehl an das AIO Gateway.

Beim Fernseher sieht das dann so aus. Knopf drücken in der AIO Remote -> Script in IP-Symcon wird aufgerufen. Das Script sendet zunächst ein Ping an den Fernseher, sollte dieser erreichbar sein ist er bereits an, wenn nicht wird der IR Befehl zum Einschalten an das AIO Gateway gesendet.
Code: Alles auswählen
include ('19172.ips.php') ; //f_samsung
$available = SAMSUNG_GetAvailable($ipadr);
SetValueBoolean(37311 /*[Erdgeschoss\Wohnzimmer\LE40C750\Status]*/, $available); /* Schreibt Status */

if ($available == false)// Befehl ausführen
   {
   IPS_LogMessage( "Samsung TV:" , "Anschalten" );
   $ir_code = "190826000003002204046604640096019B0096007C00962FD800010101020202020201010102020202020102020101020201020101020201010203";
   $AIO_Code = GetValue(11287 /*[Mediola\IP_AIO_Gateway]*/).GetValue(37770 /*[Mediola\Infrarot\IR_sendstring1]*/).$ir_code.GetValue(38650 /*[Mediola\Infrarot\IR_sendstring2]*/);
   file_get_contents("http://$AIO_Code");
   SetValueBoolean(37311 /*[Erdgeschoss\Wohnzimmer\LE40C750\Status]*/, true);
   }
elseif ($available == true)// Befehl ausführen
   {
   // TV ist bereits an
   }

Wie Du siehst ist der IR Code im Script, bzw. in einer Variablen hinterlegt. Es gibt zur Zeit noch keine Möglichkeit alle angelernten Codes im AIO Creator automatisch nach IP_Symcon zu exportieren. Es hilft also nur ein händisches kopieren. Ich benutze dies aber auch nur für IR Codes wo ich z.B. eine Statusanzeige benötige bzw. Script abhängig einen IR Code senden will, alle normalen IR Codes sende ich direkt von der AIO Remote ans Gateway.

Gepusht wird dann die der Inhalt der Variable von IP-Symcon zurück an die AIO Remote
Code: Alles auswählen
$Status = GetValueBoolean(37311 /*[Erdgeschoss\Wohnzimmer\LE40C750\Status]*/); // Status des Geräts auslesen
if ($Status)
   {
   $push = "true";
   $medioladevice = "Wohnzimmer.LE40C750IPS:37311";//Name des Geräts im AIO Creator (Gruppe.Name)
   //Pushskript einbinden
   include '32501.ips.php';
   }
else
   {
   $push = "false";
   $medioladevice = "Wohnzimmer.LE40C750IPS:37311";//Name des Geräts im AIO Creator (Gruppe.Name)
   //Pushskript einbinden
   include '32501.ips.php';
   }

32501.ips.php
Code: Alles auswählen
$port = 1902; //Push Port
    $broadcast = "192.168.55.255"; // Broadcastadresse für eigenes Subnetz
    $msg = '{XC_EVT}{"type":"ST","data":"'.$medioladevice.':'.$push.'"}'; //Push Message data an device mit Bezeichnung Gruppe.Name IPS Gruppe.Name:ObjectID den Status der auslösenden Variable
    $len = strlen($msg);//Länge der Message
    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
    socket_sendto($sock, $msg, $len, 0, $broadcast, $port);
    socket_close($sock);


derrapf hat geschrieben:Vielleicht geht das ja auch alles mit der CCU.

Also den Status zurück Pushen kann man von der CCU auf alle Fälle. Dazu müste man nur das TCL Script anpassen. Ich persönlich habe aber eben auf einen richtigen Server gesetzt, da ich die CCU schnell für überfordert halte wenn man dort alles mögliche an Scripts zeitgleich ausführen lässt. Aber die Freaks im Homematic Forum machen ja durchaus alles mögliche auch mit der CCU alleine.
Denon AVR 4311, Dreambox 8000, Xtreamer Prodigy, Samsung LE40C750, Epson EH TW 3600, DVBViewer, IP-Symcon 4, IT Stecker, FS20 Aktoren, Dual-Mask Tension Multiformat Leinwand, RedEye, Homematic CCU2, Wetter OC3, Philips HUE, FireTV, AppleTV 3, Plex
Fonzo
 
Beiträge: 1177
Registriert: 8. Oktober 2010, 08:59

Re: Makros über URL mit Homematric aufrufbar

Beitragvon derrapf » 15. Dezember 2013, 21:49

Hi Fonzo
Also summa summarum klingt das alles ziemlich interessant.
Aus Mangel an IP-Symcon hab ich mir aber nun folgendes überlegt (und werde das mal über die Weihnachtsferien ausprobieren)

  • Ich kopiere die beiden Dateien ircodes.xml und macros.xml auf die CCU
    (oder ich versuche den Creator zu überreden diese auf einem Netzwerkshare zu speichern und dieses von der CCU
    aus zu erreichen)
  • Über TCL und das tdom Paket lese ich die XML Dateien, also die Makros und zugehörigen IR Codes aus und sende die dann an die Geräte

Das hätte den Vorteil, dass ich die IR-Codes nicht nochmal hardcoded auf der CCU hinterlegen-, sondern nur die xml-Files updaten muss.
Wenn es geklappt hat schreibe ich wie.

Weiss jemand wie man den Creator überredet die xml-Dateien woanders zu speichern?

Gruss Ralf
derrapf
 
Beiträge: 53
Registriert: 10. Dezember 2012, 21:29

Re: Makros über URL mit Homematric aufrufbar

Beitragvon derrapf » 11. Februar 2014, 23:27

Hallo alle
Falls es jemanden interessiert:
Ich habe mein Problem jetzt so gelöst:
  • Ich kopiere die Dateien devices.xml, ircodes.xml und macros.xml per Batch auf die CCU. Und zwar jedesmal
    wenn ich im Creator irgendwas geschraubt habe.
  • Über ein TCL Script (leider ohne tdom Paket weil es das für die CCU nicht gibt) lese ich die XML Dateien,
    also die Makros und zugehörigen IR Codes aus und sende diese dann per http an die Geräte.
Das wäre theoretisch alles einfach und stabil programmierbar gewesen, wenn ich ein TDOM Paket für die CCU gehabt haette. Gibts aber nicht und so muss man mit den bestehenden Möglichkeiten (siehe oben) die XML-Dateien parsen.

Problem: Die CCU ist dermassen lahm, dass das Parsen der XMLs (die auf dem Laptop in ein paar Sekunden verwurstet sind) auf der CCU Minuten dauert. Also unbrauchbar.
Deswegen habe ich im TCL Script über diverse reguläre Ausdruecke die XML Dateien abgespeckt und nur die relevanten Daten zum Parsen verwendet.
Ist nicht schön.Funktioniert aber.

Fall jemand an dem Script interessiert ist, bitte melden. Ist aber nichts für Anfänger und schwer zu verstehen. Ich hab auch leider keine Zeit für Support. Also wenn sich einer durchbeissen will: Gerne ;-)
Ich hab zwar versucht möglichst viel zu kommentieren, aber ich kann mir vorstellen, dass der Code nicht einfach zu verstehen ist.
Momentan kann das TCL-Script nur IR-Codes aus der IRcodes.xml, Homematic-Aktoren vom Typ "blswitch" und Delays interpretieren.
Mehr brauche ich in meinen Makros nicht; deswegen ist auch nicht mehr implementiert.

PS: Nach Rücksprache mit Mediola ist der Taskplaner tatsächlich nur dazu gedacht EINZELNE Befehle abzuarbeiten. Meine Idee also Makros per Tasks abzuarbeiten scheitert an den oben genannten Problemen:
1) Einzelne Befehle sind nicht in Ihrer Reihenfolge definierbar
2) Makros kann man nicht als Task definieren.

Kurz: Nur brauchbar, wenn man einen einzelnen Schaltvorgang per Task planen will.
Ist mir völlig unverständlich was Mediola sich da vorstellt was man da geplant absetzen soll.
Oder hat das jemand im Einsatz?
Ich hab grad keine Idee was ich per Taskplaner mit einem einzelnen Befehl anstellen soll....


Gruss Ralf
derrapf
 
Beiträge: 53
Registriert: 10. Dezember 2012, 21:29

Re: Makros über URL mit Homematric aufrufbar

Beitragvon Fonzo » 12. Februar 2014, 02:52

derrapf hat geschrieben:Problem: Die CCU ist dermassen lahm, dass das Parsen der XMLs (die auf dem Laptop in ein paar Sekunden verwurstet sind) auf der CCU Minuten dauert. Also unbrauchbar.


Genau aus dem Grund verzichte ich darauf solche Dinge mit der CCU zu machen auch wenn vieles theoretisch geht. Daher läuft bei mir dann eben doch ein richtiger Server.

derrapf hat geschrieben:Ist mir völlig unverständlich was Mediola sich da vorstellt was man da geplant absetzen soll.
Oder hat das jemand im Einsatz?
Ich hab grad keine Idee was ich per Taskplaner mit einem einzelnen Befehl anstellen soll....

Dito, wie schon gesagt ich wüste auch nicht wozu der Taskplaner in der jetzigen Form gut sein soll.
Denon AVR 4311, Dreambox 8000, Xtreamer Prodigy, Samsung LE40C750, Epson EH TW 3600, DVBViewer, IP-Symcon 4, IT Stecker, FS20 Aktoren, Dual-Mask Tension Multiformat Leinwand, RedEye, Homematic CCU2, Wetter OC3, Philips HUE, FireTV, AppleTV 3, Plex
Fonzo
 
Beiträge: 1177
Registriert: 8. Oktober 2010, 08:59

Vorherige

Zurück zu mediola a.i.o. gateway

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron