Homematic IP CCU3 Hub
Um Ihre Homematic oder Homematic IP Geräte softwarebasiert steuern und konfigurieren sowie in Zentralenprogrammen nutzen zu können, müssen Sie die Geräte über die WebUI ins System einbinden.
Um Ihre Homematic oder Homematic IP Geräte softwarebasiert steuern und konfigurieren sowie in Zentralenprogrammen nutzen zu können, müssen Sie die Geräte über die WebUI ins System einbinden.
Sehr ausführlicher Beitrag, um eine CCU3 einzubinden-vielen Dank. Vorher würde ich aber versuchen, per MQTT über Jack einzubinden. Aktuell habe ich schon auf meiner CCU3/RasperryMatic meine Heizung als MQTT-Client über den Jack eingebunden. CuxD und RedMatic habe ich derzeit noch nicht in Gebrauch und der komplette Umbau auf RedMatic ist mir bei aktuell etwa 150 Programmen zu umfangreich: Never change running system…
Ich würde es daher für eleganter halten, die Cam (IN-9420) über den Jack anzuschließen. Bis jetzt habe ich aber die MQTT-Aktivierung bzw. Einrichtung auf der Web-UI der Kamera noch nicht hinbekommen. Hat da jemand vielleicht eine Anleitung? Vielen Dank im Voraus
Warum MQTT - was ist denn Dein Ziel - was möchtest Du erreichen??
Die IN-9420 kann komplett über den IN-Alarmserver (wie beschrieben) in die Homematic Zentrale eingebunden werden. Über Homematic Scripte kann mit Hilfe der CGI-Kommandos direkt auf die Kamera zugegriffen werden. Ich habe so vom NAS-Abspeichern der Aufnahmen bis hin zur PTZ-Kamera-Bewegung beim Klingeln an der Haustüre alles ‚nativ‘ per HM-Script und CGI-Befehle realisiert. Frontend dabei ist der AIO NEO Creator auf dem Handy …
Anders sieht es aus, wenn man Middleware Systeme wie ioBroker oder Homeassistant einsetzen will. Dann ist m.E. ein zentraler MQTT-Server, in den die IN-Kameras per MQTT eingebunden sind, unverzichtbar. Dieser zentrale MQTT-Server ist dann aber KEIN CCU-Jack auf einem HM-System !!
Danke für die Antwort von wolwin. Ich hatte nun seither versucht, den Artikel von m.polinowski https://wiki.instar.com/de/Software/Andere_Plattform/Homematic_IP/ umzusetzen, leider habe ich immer noch keine Funktion. Bisher folgende Abläufe:
WriteLine("Position_2"); dom.GetObject("CUxD.CUX2801001:2.CMD_EXEC").State("wget -q -O - 'http://192.168.178.93/param.cgi?cmd=preset&-act=goto&-number=2&-usr=admin_v&-pwd=!Vol29@Kue97'");
. Es passiert: NICHTSNun sah ich mir die Einstellungen des vituellen Kanals an. Dort finde ich ein Timeout von mindestens 1Minute, die ich auch einstellte. Wichtiger erscheint mir aber die aktuell leeren Einstellungen zu „KEY|CMD_SHORT“ und "KEY|CMD_LONG. Dem steht aber meines Erachtens das „CMD_EXEC“ im Skript unpassend gegenüber. Mit Skripten bin ich leider blutiger Anfänger. Ist dies tatsächlich das Problem oder liegt dies an einer anderen Stelle? Kann mir bitte jemand auf die Sprünge helfen.
Danke an Alle
Evtl. liegt es am Passwortzeichen „@“, was die Homematic nicht annimmt. Testweise mal ersetzen.
Danke für die gute Idee. Admin und PW komplett geändert-leider erfolglos. Zunächst eine Frage: Welche Zeichen sind im PW verboten oder nicht angebracht?
Und natürlich bitte neue Ideen
Eben mal bei einem der Kanäle versuchsweise EXEC gegen SHORT ersetzt: Kein Effekt. Allerdings im Kanal keinen Wert eingetragen
Das hat sich anscheinend entspannt:
Falls doch noch Sonderzeichen wie z.B. „!“ drin sein sollten, dann kann man sie vorsichtshalber URL-encoden. Statt „!“ dann „%21“ eingeben.
EDIT: Muss in Deinem Script vielleicht http gegen https getauscht werden?
EDIT2: In Deinem Link steht noch etwas von einem geänderten Trigger. Wurde das umgesetzt?
" Es gibt eine neue Alarmserver API für WQHD 2K+ Kameras. Die einzelnen Schritte unten sind weiterhin gültig. Nur der URL Query nennt sich jetzt &trigger
anstelle von &active
, die Zahlenwerte haben sich geändert und ermöglichen jetzt das auswerten mehrerer, zeitgleicher Alarmauslöser! Sie finden eine Beispiel-Implementierung der MQTT- and HTTP-Alarmserver v2 API mit Node-RED hier."
Ja, „!“ ist nicht mehr enthalten, allerdings nun ein „?“.
https: ich hatte zunächst einfach [https://wiki.instar.com/de/Software/Andere_Plattform/Homematic_IP/] nachgebaut und mich dann in Folge nur mit CUxD und dem virtuellen Gerät beschäftigt. http dürfte auch im aktuellen Arbeitsstand nicht relevant sein, da es ja nicht mal im eigenen LAN funktioniert. Das sollte später ein Sicherheitsthema werden. Eins nach dem Andern…
Lasse vielleicht erst einmal diese Zeichen weg und nutze nur die reinen alphanumerischen Zeichen.
Völlig neu und geht auch aus dem Originaltitel hervor: " Sie müssen den CGI-Befehl entsprechend Ihrer Kameraeinstellung anpassen" Ich habe ne 9420-die hat sicher andere CGI-Befehle.
Die muss ich nun erst mal suchen und testen. Dann auch mein Gedanke, Sonderzeichen komplett rauszunehmen.
ICH BERICHTE für alle. Erst mal vielen Dank!
Ja, die Befehle für die 1440p. Z.B. um gespeicherte Positionen anzufahren:
Beispiel:
http://admin:instar@192.168.2.168/param.cgi?cmd=getptzpreset&act=goto&index=2
Vielen Dank estimator! Den Link fand ich schon gestern Abend und testete erfolglos. Auf der heutigen weiteren Suche stoße ich auf Deine Antwort, die hinsichtlich CGI übereinstimmt. Aber offensichtlich stimmt das sonstige Skript nicht und an dieser Stelle bin ich dann überfordert. Könntest Du bitte mal drüberschauen? Die xxx im usr und pwd sind Platzhalter, wobei zwangsweise im pwd ein „_“ enthalten ist - ganz ohne Sonderzeichen konnte ich dies nicht ändern:
`WriteLine("Position_2");
dom.GetObject("CUxD.CUX2801001:2.CMD_EXEC").State("wget -q -O - 'http://admin:instar@192.168.178.93/param.cgi?cmd=getptzpreset&act=goto&index=2&-usr=xxx&-pwd=xxx'");
Das Anfahren vordefinierter Positionen abhängig vom Event/WENN ist (nach aktuellem Stand) die letzte Aufgabe. Daher vielen Dank für Deine Hilfe im Voraus!
`
Lass mal das Ende nach „index=2“ weg. User und Passwort hast Du ja (oder machst es noch) am Anfang eingetragen. Also statt admin und das Passwort instar Deine Zeichen eingeben.
Habe ich nun erfolglos probiert. Natürlich hatte ich meinen eigenen usr und pwd angegeben. Und die sind identisch mit der Zugang per Browser. Aber wo sollte ich diese „…am Anfang…“ eintragen? Bitte sende doch mal das Skript entsprechend geändert mit Platzhaltern bei usr und pwd zurück. Danke im Voraus.
PS: ACH-SO… ja-ersetze ich jetzt, melde mich gleich wieder
wieder erfolglos-keine Reaktion. Habe auch zwei PTZ getestet. Hier das angepasste Skript:
WriteLine("Position_2");
dom.GetObject("CUxD.CUX2801001:2.CMD_EXEC").State("wget -q -O - 'http://adminxxx:pwdxxx@192.168.178.93/param.cgi?cmd=getptzpreset&act=goto&index=2
Hast Du vielleicht noch ne Idee?? Das "wget -q -O - " ist ok? Aus meiner Sicht wäre in meiner Verzweiflung auch Telefonat und Teamviewer denkbar.
Ich habe mir nun mal das CUxD-Gerät angesehen. Eigentlich müssten dort in der CCU ja Schaltzeitpunkte zu sehen sein. Da sind aber die Kanäle ohne Aktivitäten. Also kommt dort nichts an. Die Kanäle wurden aber aktiviert und manuell kann ich die Kanäle schalten. Demzufolge stimmt an dieser Stelle mit dem eingangs genannten Skript von Instar was nicht. Damit meine ich nicht die CGI-Befehlskette, sondern den ersten Teil.
Andererseits habe ich eben mal per Programm den virtuellen Taster über einen Schalter auslösen wollen-reagiert nicht. Aber von diesem Taster kann ich einen anderen Kanal auslösen. Funktionstest des virtuellen Tasters ebenfalls positiv. Sollte dieses von Instar als Beispiel genommene Gerät für diesen Zweck ungeeignet sein?!
Dies nur als meine Überlegung in der Hoffnung, dass dieser Sachverhalt vielleicht hilft. Werde nun mal nach einem anderen virtuellen Gerät sehen..
Das letzte Script ist entweder von Dir unvollständig in das Forum kopiert oder Du hast das Ende der Zeile nicht korrekt abgeschlossen.
So sollte es wohl aussehen:
WriteLine(„Position_2“);
dom.GetObject(„CUxD.CUX2801001:2.CMD_EXEC“).State(„wget -q -O - ’ http://adminxxx:pwdxxx@192.168.178.93/param.cgi?cmd=getptzpreset&act=goto&index=2’“);
Aber ich kann da nur eine Trockenübung machen und alles aus der theoretischen Sicht anschauen, da ich mit der Homematic noch nichts gemacht habe.
Vielleicht gibt es hier User, die das bereits praktiziert haben, oder @INSTAR schaut mal drauf.
Es gibt laut Artikel die Möglichkeit, das Script im Vorfeld zu testen.
Die Forensoftware verfummelt mir das Hochkomma vor http. Das Leerzeichen musst Du noch weglassen. Zum Schluß mit Hochkomma, Anführungsstriche oben usw. abschliessen.
Also vorm Hochkomma vor http die Leerstelle entfernt und Abschluss mit '");
. Damit siehts dann so aus und läuft auch durch den skripttest:
"WriteLine("Position_2");
dom.GetObject("CUxD.CUX2801001:2.CMD_EXEC").State("wget -q -O -'http://adminxxx:pwdxxx@192.168.178.93/param.cgi?cmd=getptzpreset&act=goto&index=2'");
Leider wieder erfolglos. Mein Vorschlag, wir hören für heute auf-die Luft ist raus…
Noch einen schönen restlichen Sonntag. Ich bin ja Rentner-da kann ich morgen spätestens Nachmittags und hoffentlich mit Deiner Hilfe weitermachen. Vielleicht hängt sich noch jemand, vielleich sogar Instar rein.
PS: eben letzten Versuch gemacht-hatte die falsche Leerstelle gelöscht, richtig war zwichen Hochkomma und `http. UND DAMIT SCHWENKTE DIE CAM!!!
Morgen gehts nun an die anderen Positionen. VIELEN DANK NOCHMALS FÜR DEINE HILE UND GEDULD!!!
Na klasse! Ist doch ein Teilerfolg. Dann kann das Abendprogramm kommen. Ebenfalls noch einen schönen Restsonntag.