Suche geeignete Lösung für Fernbedienung meiner AV Geräte, Lightify etc

Hier ist einkompletter UPNP Controllpoint mit IP-Symcon aufgesetzt worden

das laufende Fernsehprogramm oder ähnliches Anzeigen lassen kannst. Das liefert in dem Fall IP-Symcon. Mit NEO alleine ginge so was nicht.

Diese Punkte würden aber mit NEO auch zu realisieren sein oder eher nur was für IPSView.

Neo selber kann solche Sachen ohne Software wie IP-Symcon nicht darstellen. IPS Studio funktioniert selber ausschließlich mit IP-Symcon zusammen. Wenn Du nur ausschließlich alle Geräte über IP-Symcon ansteuerst ist IPSStudio imho sicher besser geeignet, da es einen größern auf IP-Symcon abgestimmten Funktionsumfang bietet im direkten Vergleich zur Kombination NEO/IP-Symcon. Wenn Du auch irgendwelche Plugins von Mediola nutzten willst ist NEO dann die Wahl.

Mit beiden Programmen lassen sich Variablen aus IP-Symcon frei auf einer Remoteoberfläche anordnen. Größere zusammenhängender Inhalt wie eine Liste oder das Fernsehprogramm werden nicht mit einzelnen Variablen dargestellt sondern als HTML. Dies lässt sich in NEO aus IP-Symcon über ein Webseitenelement einbinden in IPSStudio über eine HTMLBox oder WebView.

Das Layout Ergebnis ist ähnlich bei beiden Programmen. Mit IPSStudio sind aber zum Beispiel auch Popup Fenster möglich so etwas unterstützt NEO zur Zeit nicht. In NEO hast Du Icons mitgeliefert in IPSView kannst Du alles an Icons benutzten die Dir selbst zur Verfügung stehen bzw. Du kannst Dir Icons mit Zusatzprogrammen wie Colibrico selbst erstellen.

Das Intertechno Gateway kann ja im Prinzip nix außer Intertechno schalten deshalb hat sich da wahrscheinlich noch keiner die Mühe gemacht was zu basteln weil es vielfältigere Möglichkeiten gibt von IP-Symcon Geräte im 433 Band zu steuern wie z.B. CUL.

Letztendlich bekommt aber das Gateway auch nur ein paar Daten über das Netzwerk gesendet das sind ein paar Zeilen Code da braucht es kein extra Modul.

Testen kann ich das nicht da ich ein solches Gateway nicht besitzte aber ähnliche Gateway lassen sich so in der Art ansteuern.


<?php

function tx433_send($msg)
{
   $IP="192.168.10.25";
   $PORT=49880;
  
   $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
   $len = strlen($msg);

   if($sock) {
      socket_sendto($sock, $msg, $len, 0, $IP, $PORT);
      socket_close($sock);
   }
   else {
      echo "Kann ConnAir nicht erreichen IP:PORT=".$IP.":".$PORT."
";
      exit(0);
   }
  
}
function tx433_brennstuhl($Master,$Slave,$onoff)
{
   $sA=0;
   $sG=0;
   $sRepeat=15;
   $sPause=5600;
   $sTune=350;
   $sBaud=25;
   $sSpeed=16;
  
   $uSleep=800000;
  
   $HEAD="TXP:$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,";
   $TAIL=",1,1,$sSpeed,;";
   $AN="1,3,1,3,3";
   $AUS="3,1,1,3,1";
  
   $bitLow=1;
   $bitHgh=3;
  
   $seqLow=$bitHgh.",".$bitHgh.",".$bitLow.",".$bitLow.",";
   $seqHgh=$bitHgh.",".$bitLow.",".$bitHgh.",".$bitLow.",";

   $bits=$Master;
   $msg="";
   for($i=0;$i<strlen($bits);$i++) {  
      $bit=substr($bits,$i,1);
      if($bit=="0")
         $msg=$msg.$seqLow;
      else
         $msg=$msg.$seqHgh;
   }
   $msgM=$msg;
   $bits=$Slave;
   $msg="";
   for($i=0;$i<strlen($bits);$i++) {
      $bit=substr($bits,$i,1);
      if($bit=="0")
         $msg=$msg.$seqLow;
      else
         $msg=$msg.$seqHgh;
   }
   $msgS=$msg;
  
    $msg_ON=$HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AN.$TAIL;
   $msg_OFF=$HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AUS.$TAIL;
  
   if($onoff==1)
      $msg=$msg_ON;
   else
      $msg=$msg_OFF;
   tx433_send($msg);
}

function main($argc,$argv)
{
   if($argc!=5) {
      echo "Usage: ".$argv[0]." vendor params
";
      echo "   vendor params
";
      echo "   b (Brennstuhl) MasterID SlaveID on|off
";
      echo "   ID-Format: 00000-11111
";
      exit (0);
   }
  
   $vendor=$argv[1];
   if($vendor=="b") {
      $Master=$argv[2];
      $Slave=$argv[3];
      if(bindec($Master)<0||bindec($Master)>31) {
         echo "Master not valid, must be 00000..11111
";
         exit(0);
      }
      if(bindec($Slave)<0||bindec($Slave)>31) {
         echo "Slave not valid, must be 00000..11111
";
         exit(0);
      }      
      $onoff=$argv[4];
      if($onoff == "on")
         $onoff=1;
      else
         $onoff=0;
      tx433_brennstuhl($Master,$Slave,$onoff);
   }
   else {
      echo "unknown Vendor ".$vendor."
";
      exit(0);
   }
}

main($argc,$argv);

?>

Wenn Du Intertechno bereits besitzt macht es Sinn das natürlich weiter zu nutzten. Bei einem weiteren Ausbau der Hausautomation bzw. weiteren Funksteckern macht es aber eher Sinn auf Systeme zu setzen die eine bidirektionale Kommunikation haben, bei denen Du also nach Absenden des Befehls auch eine Rückmeldung vom Gerät bekommst das dieses wirklich geschaltet hat.

Auch für Lightify gibt es fertig geschriebene PHP Lösungen die man mit IP-Symcon verwenden kann

ist in dem Fall ein kleines bisschen Arbeit das in IP-Symcon einzurichten aber steuern kannst Du das auf alle Fälle.

OK, nochmals vielen Dank an dich für deine vielen wertvollen Tipps. Werde mal weiter testen und muss jetzt mal das IPS Plugin in NEO zum laufen bringen, das ich mir das auch mal ansehen kann.

Was nutzt du den eigentlich, hast du NEO oder IPSStudio verwendet?

Ich selber besitze beides nutzte zur Zeit produktiv NEO, da ich in der Vergangenheit meine Remote mit dem AIO Creator erstellt hatte als es IPSView bzw. IPSStudio noch nicht gab. Auch nutze ich zur Zeit die Slider in NEO die sehen imho besser aus und sind anpassbar als die Möglichkeiten in IPSStudio. Ich bastel mir aber gerade eine Javascript Lösung für IPSStudio dann kann ich auch da hübschere Slider benutzten. Inzwischen wenn man ausschließlich IP-Symcon zur Steuerung der Geräte nutzt kommst man imho mit der Erstellung einer Remoteoberfläche mit IPSStudio schneller ans Ziel, da dies vollkommen auf IP-Symcon abgestimmt ist. Wenn Du allerdings noch Plugins von Mediola nutzen willst bleibt dann nur NEO.

Wenn Du allerdings noch Plugins von Mediola nutzen willst bleibt dann nur NEO.

Wenn sich ja alles mit IPS steuern lässt, bräuchte ich ja keine Mediola Plugins. Ich denke mal das NEO einfacher zu bedienen ist als IPS Studio. Wenn es eine Testversion von IPS Studio gäbe könnte ich mir das ja auch ansehen, aber gibt es leider nicht.

Wäre es eigentlich sinnvoller oder gibt es Vorteile wenn die Geräte einzeln in IPS eingebunden werden, anstatt über den Harmony Hub? Was den TV und BD Player über IP zu steuern angeht, habe ich von Panasonic ein Nein erhalten, das es nicht funktioniert. Aber die Panasonic Remote App muss ja auch die Befehle senden.

Speziell im Bezug auf IP-Symcon ist IPSStudio aus meiner Sicht einfacher zu bedienen als NEO zur Zeit. Beim Rest ist es ja nicht vergleichbar da IPSStudio wie gesagt nur IP-Symcon unterstützt. Du hast aber mit IPS Studio z.B. die Möglichkeit im Objektbaum zu navigieren, Dir automatisch anhand der Geräte eine Remote erstellen zu lassen und ab Version 3.1 auch einen Workflow Editor zur Verfügung, der es gerade Anfängern deutlich erleichtert Geräte mit Bedingungen zu verknüpfen. Das ist zur Zeit im Bezug auf IP-Symcon mit NEO alles nicht möglich. Hier kannst du zwar auch alle Variablen einlesen und auf der Remoteoberfläche platzieren musst aber um etwas in IP-Symcon zu verändern jedes Mal in die IP-Symcon Konsole wechseln.

Infos zu IPSStudio bzw. Fragen werden im Unterforum IPSView beantwortet.

Wenn das Gerät denn eine Rückmeldung unterstützt bekommst Du diese dann in IP-Symcon mit das geht mit dem Harmony Hub nicht, da dieser ja die meisten Geräte per IR ansteuert.

Das ist leider typisch für manche Hersteller, entweder weil es wirklich nicht geht oder weil der Hersteller keinen mündigen Kunden will, der das Gerät auch anders steuern kann als vom Hersteller vorgesehen. Im letzten Fall gibt es zumindest ab und zu Hoffnung sich der Gängelei des Hersteller zu entziehen. Falls es Protokolle im Internet zu finden gibt oder eine App des Herstellers bei der man das Protokoll einsehen kann wird es dann doch eine Möglichkeit geben das Gerät zu steuern. Garantieren kann das aber niemand und mir sind auf alle Fälle die Hersteller lieber die die Schnittstellen gleich für den Kunden offen legen.

Wenn das Gerät denn eine Rückmeldung unterstützt bekommst Du diese dann in IP-Symcon mit.

Wie bekomme ich das raus welches Gerät die Rückmeldung unterstützt? Ich denke mal das es bei dem Marantz 7010 und der VU+ Box funktioniert. Vom Marantz habe ich auch die IP Steuerbefehle und ich glaube die Enigma2 Befehle habe ich auch irgendwo abgespeichert. Den HTPC mit Kodi und Foobar dürfte ja auch kein Problem sein.

Fehlt also wirklich nur der Panasonic TV, BD Player und die beiden Nubert Subwoofer, das Lightify und Intertechno Gateway. Wobei die Subwoofer ja eh nur IR haben, also auch keinen Rückkanal.

das geht mit dem Harmony Hub nicht, da dieser ja die meisten Geräte per IR ansteuert

Also zählt das mit dem Feedback des Hub’s nur für die Aktivitäten,

Feedback haben auf alle Fälle:

[ul]
[li]Marantz
[/li][li]Kodi
[/li][li]VU
[/li][li]Lightify
[/li][/ul]

Ungewiss:

[ul]
[li]Foobar (keine Ahnung ob das etwas meldet was das Programm macht)
[/li][li]Panasonic (musst Du in der App schauen ob es da für etwas Rückmeldung gibt oder ob man mit der App nur etwas senden kann
[/li][/ul]
Was machst Du eigentlich mit Foobar hast Du an den PC Boxen angeschlossen und spielst dann den Inhalt über Foobar ab? Das geht doch auch mit Kodi da bekommst Du auf alle Fälle eine Rückmeldung.

Kein Feedback:

[ul]
[li]Intertechno ist in der Regel unidirektional Du weist also nicht ob der Stecker wirklich geschaltet hat, wenn Du die Hausautomation weiter ausbaust solltest Du eher auf ein bidirektionales System setzen.
[/li][li]Subwoofer, aber Feedback möglich wenn Du z.B. eine Schaltsteckdose mit Bidirektionaler Kommunikation zusammen mit IP-Symcon verwendest. Dann weist Du Anhand der Steckdose ob der Subwoofer an oder aus ist.
[/li][/ul]

Das Feedback gezieht sich auf den Logitech Hub, d.h. Du weist welche Taste gedrückt wurde und welche Aktivität des Hub aktiv ist. Da der Hub aber die meisten Geräte per IR schaltet bekommst Du keine Rückmeldung ob der Befehl auch wirklich angekommen ist. Die Rückmeldung kann Dir nur das zu steuernde Gerät selber geben insofern es eine Rückmeldung unterstützt.

Was machst Du eigentlich mit Foobar hast Du an den PC Boxen angeschlossen und spielst dann den Inhalt über Foobar ab? Das geht doch auch mit Kodi da bekommst Du auf alle Fälle eine Rückmeldung.

Ich habe sehr viele verschiedene Formate vorliegen und da bin ich mit Foobar einfach besser bedient, da der Player einfach alles abspielt. Foobar habe ich auf dem HTPC installiert und per HDMI am Marantz.

Intertechno ist in der Regel unidirektional Du weist also nicht ob der Stecker wirklich geschaltet hat, wenn Du die Hausautomation weiter ausbaust solltest Du eher auf ein bidirektionales System setzen

Am Intertechno Gateway habe ich die Gartenbeleuchtung dran. Müsste mal schauen ob es ein Gateway gibt das die Intertechno Funkschalter wie ITL-1000 schalten kann.

Da gibt es mehrere Möglichkeiten. Kannst ja mal in einem separaten Thread Fragen wie die Teilnehmer hier Intertechno steuern wenn sie das denn benutzten. Ich selber benutzte das AIO Gateway aber das ist nur für Intertechno überdimensioniert, das geht z.B. auch mit einem CUL Stick.

Mal eine Frage am Rande rein Informativ. Welche Programmiersprachen sollte man den können um halbwegs das ganze zu verstehen mit den Modulen etc. Bei den Modulen ist es wohl PHP. Wäre Javascript von Vorteil?

Die Basis von IP-Symcon ist PHP. Also alle Skripte sind in PHP sowie auch alle PHP Module in PHP geschrieben.

In IPSStudio gibt es ab Version 3.1 Workflows, dann erstellt Dir IPSStudio ein Skript in IP-Symcon. Javascript braucht man nur wenn man dies nutzten will z.B. im Webfront, einer HTMLBox usw… Damit IP-Symcon funktioniert sind aber keine Javascript Kenntnisse notwendig.

Ein guter Einstieg wäre
Learn to code | Codecademy
PHP lernen - PHP lernen leicht gemacht

Danke für deine schnelle Antwort. Wie sieht es aus wenn man sich sowas basteln will wie in meinem anderen Thread (Foobar) diese Geschichte mit dem übertragen des Covers etc.?

Das Absenden der Befehle und Erstellen der passenden Variablen im Webfront ist ein Abend Arbeit wenn Du denn weist was Du an Foobar schicken willst. Wenn Du konkrete Informationen hast was genau eigentlich Foobar zurückliefert und in welchen Format dann kannst Du das auch mit PHP auslesen. Javascript brauchst Du nur wenn etwas beweglich in Deiner Oberfläche sein soll, so was wie Menüs, Slideshow etc…

@Fonzo

Wenn ich in NEO über das IPS Plugin meine Geräte hinzufüge, gibt es da eine Möglichkeit die Geräte geordnet anzuzeigen? Zurzeit sieht es so bei mir aus und müsste alle Variablen testen, zu welchem Gerät das Ganze gehört:

Tja auch wenn NEO ja sonst gut für ein Layout bauen geeignet ist das ist eines der größten Minuspunkte die es in NEO gibt und leider ist hier auch nie etwas nachgebessert worden. Das Einzige was Du machen kannst möglichst keine Variablen einzeln im ObjektBaum in IP-Symcon liegen haben. Wenn dann gruppiere die zusammengehörenden Variablen unter einer Dummy Instanz (CTRL+1 Dummy Module) dann zeigt das NEO auch nur die Dummy Instanz an. Das hat dann auch den Vorteil das Du die Dummy Instanz dann als Gerät gewertet wird und so dann die Variablen unter Befehle auftauchen also analog dem Handling von anderen Geräten in NEO.
neoips-1.png

Ansonsten hilft es nur den Variablen einen sehr eindeutigen Namen zu geben wie Gerät_Variablenname dann findest Du diese zumindest alphabetisch geordnet wieder und hast keine Duplikate. Ansonsten in den eckigen Klammern dahinter das ist die Objekt ID dann weist Du zumindest was es ist musst aber jeder mal im Objekt Baum von IP-Symcon schauen was es denn eigentlich ist. Alles im Allen sehr verbesserungswürdig.

In IPSView sieht das im Vergleich so aus:


Da findest Du die Variablen auf Anhieb.

Mal ne blöde Frage, sollte im Objektbaum jedes Gerät als Kategorie angelegt werden? Bzw. müssen die Geräte zweimal auftauchen, einmal mit dem gelben Icon (als Kategorie) und einmal mit dem grauen Icon (Instanz)?

Nach welcher Reihenfolge sollte man den Objektbaum anlegen? Zurzeit habe ich wie in der Beschreibung angegeben:

Home -> 1. Etage -> Technikraum -> Geräte

Müssen tust Du gar nichts das ist jedem selber überlassen wie er das am sinnvollsten erachtet. Empfehlenswert ist es aber auf alle Fälle die eigentliche Visualisierung und die Struktur der Geräte separat zu verwalten. In eine Kategorie würde ich alles legen was thematisch Sinn macht damit man dies dann auch wieder schnell findet wenn es umfangreicher werden sollte. So könnte man zum Beispiel eine Kategorie Heizung machen und dort alle Heizungen ablegen oder eine Kategorie Heimkino und dort alle zugehörigen Geräte auch wenn diese nicht in einem Raum stehen.
Wenn man dann Visualisieren will erstellt man sich dann zusätzlich eine Visualisierungskategorie unter der man alles so gliedert wie man es angezeigt haben will. Innerhalb der Visualisierungskategorie liegen aber keine echten Geräte, die sind alle anderes gruppiert, sondern man arbeitet nur noch mit Links und Dummy Instanzen. Das hat den Vorteil das man z.B. auch nur die Informationen eines Geräts in die Visualisierung verlinkt was angezeigt werden soll, oder Informationen von Geräten in unterschiedliche Kategorien verlinkt, das Gerät ist aber immer an der gleichen logischen Stelle im Objektbaum wo man es am sinnvollsten abgelegt hat. Ich selber habe ich einer Kategorie immer alles liegen was thematisch zu dem Gerät gehört. Also zum Beispiel bei Sonos die Geräte Instanzen selber und dann in einer Unterkategorie Erweiterte Funktionen, Cover, Ansagetexte usw. so weis ich immer wo was ist. Wie tief Du das verschachtelst ist Dir überlassen und was Du für sinnvoll erachtest. Für die Visualisierung kannst Du dies dann ja anders anordnen mit einer Struktur z.B. nach Raum und dem verwenden von Links.

Habe das jetzt mal so angelegt. Ich denke mal das ist so wie du es gemeint hast.