Firmware v2.31.23 online

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

semml
Beiträge: 29
Registriert: 15.11.2016, 17:01
Wohnort: Berlin

Re: Firmware v2.31.23 online

Beitrag von semml » 14.01.2018, 13:51

Danke Jens, es funktiert leider nicht.
Das Display bleibt weis, wenn ich es direkt in den Browser eingebe klappt alles.

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Firmware v2.31.23 online

Beitrag von anli » 14.01.2018, 14:34

Probiere es wie von Jens vorgeschlagen doch einmal per SSH auf der CCU2-Konsole. Ich schlage folgendes vor (am Ende sind zwei einzelne Anführungszeichen '):

Code: Alles auswählen

wget 'http://192.190.164.48:50000/?showframe=\'http://192.190.164.37:8083/cgi-bin/CGIStream.cgi?cmd=GetMJStream&usr=xxxx&pwd=xxxx\''
Wenn das geht, kannst Du es entsprechend in Dein Skript einbauen.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

semml
Beiträge: 29
Registriert: 15.11.2016, 17:01
Wohnort: Berlin

Re: Firmware v2.31.23 online

Beitrag von semml » 14.01.2018, 15:19

Vielen Dank, geht leider auch :(

LG semml

DerLockjaw
Beiträge: 3
Registriert: 13.01.2018, 09:31

Re: Firmware v2.31.23 online

Beitrag von DerLockjaw » 14.01.2018, 19:49

jmaus hat geschrieben: It‘s not a bug, it‘s a feature ;) Da shell redirections (>) und pipes (|) jetzt von system.Exec() unterstützt werden, müssen Sonderzeichen die in einer unix shell für andere dinge verwendet werden zwingend escaped werden.

Code: Alles auswählen

system.Exec("wget '" # url # "' &");
Bitte hierbei beachten das ich am schluss explizit ein & zeichen angefügt habe damit die ReGa für den Zeitraum der Ausführung des wget nicht blockiert wird da du ohnehin keine Ausgaben davon weiter verarbeiten brauchst und daher ist auch kein stdin/stderr parameter am Schluss notwendig.
Hallo Janus,

vielen Dank für Deine Hilfe. Es hat geklappt. Allerdings lese ich die Ausgabe der Webseite im weiteren Verlauf des Programms aus. Falls jemand das gleiche Problem hat und etwas auslesen muss, dann funktioniert bei mir der Code:

Code: Alles auswählen

 system.Exec("wget -q -O -  '" # url # "'", &stdout, &stderr);
Deinen letzten Satz mit dem blockierten ReGa (?) habe ich nicht verstanden. War aber jetzt ja auch egal. :D
67 Geräte

Benutzeravatar
jmaus
Beiträge: 9865
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1883 Mal
Kontaktdaten:

Re: Firmware v2.31.23 online

Beitrag von jmaus » 14.01.2018, 20:16

DerLockjaw hat geschrieben: Deinen letzten Satz mit dem blockierten ReGa (?) habe ich nicht verstanden. War aber jetzt ja auch egal. :D
Dann versuche ich das am besten gleich mal aufzuklären: da die Skriptengine der ReGaHss (die Logikschicht der CCU) single-threaded implementiert ist ist es so, das während der Abarbeitung eines ReGa-Skriptes auch die gesamte Eventloop mehr oder weniger für den Zeitraum der Abarbeitung des Skriptes stillgelegt ist. Und das bedeutet, dass während dieser Zeit andere Programme oder CCU gesteuerte Geräteschaltungen warten müssen bis das momentan abzuarbeitetende Skript fertig ist. Und da der system.Exec() Befehl ja ein externes unix Programm aufruft (in dem Falle 'wget') von dem man nicht weiss wie lange der Aufruf dauert, wird der Rest der CCU eben für den Zeitraum des wget Aufrufes blockiert. Wenn man jedoch nur an der Abarbeitung des externen Befehles interessiert ist und den Returnwert oder die stdout/stderr Ausgabe des externen Befehles nicht benötigt, so kann man am Ende des system.Exec() Aufrufes ein einzelnes " &" stellen. Das weist die aufzurufende Unix Shell dann an den jeweiligen Befehl (das 'wget') zu forken, d.h. die Abarbeitung asynchron durchzuführen. Das führt dann wiederum dazu, dass der system.Exec() Aufruf nicht blockierend ist und sofort zurückkehrt und somit die ReGa ohne Unterbrechung weiterarbeitet - was in jedem Falle wünschenswert sein sollte damit z.b. Geräteschaltungen nicht verzögert verarbeitet werden.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

schlichi
Beiträge: 395
Registriert: 26.08.2016, 19:26
System: Alternative CCU (auf Basis OCCU)
Wohnort: Erding
Hat sich bedankt: 61 Mal
Danksagung erhalten: 29 Mal

Re: Firmware v2.31.23 online

Beitrag von schlichi » 14.01.2018, 20:28

Hallo Jens,

als "Sonntags- und Schönwetter-User" möchte ich Dir für deinen Beitrag danken, der zwar in der "Fliegersprache" gehalten, auch einem Newcomer erklärt, was "Sache" ist. Ich wünschte mir, daß ein paar der " ´elitären´ Spezi´s" sich daran ein Beispiel nehmen.

Beste Grüße
schlichi
... inzwischen autodidakter, fortgeschrittener Anfänger mit bestandener Einstiegsprüfung für den Expertenmodus Teil 3 (erfahrener Anwender) :roll:

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Firmware v2.31.23 online

Beitrag von dtp » 15.01.2018, 09:39

jmaus hat geschrieben:Und da der system.Exec() Befehl ja ein externes unix Programm aufruft (in dem Falle 'wget') von dem man nicht weiss wie lange der Aufruf dauert, wird der Rest der CCU eben für den Zeitraum des wget Aufrufes blockiert.
Sprich, bei Verwendung des CUxD-Äquivalents von system.Exec hat man diese Probleme grundsätzlich nicht, weil die CCU hier immer direkt weiter arbeiten kann, oder?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
jmaus
Beiträge: 9865
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1883 Mal
Kontaktdaten:

Re: Firmware v2.31.23 online

Beitrag von jmaus » 15.01.2018, 10:15

dtp hat geschrieben:
jmaus hat geschrieben:Und da der system.Exec() Befehl ja ein externes unix Programm aufruft (in dem Falle 'wget') von dem man nicht weiss wie lange der Aufruf dauert, wird der Rest der CCU eben für den Zeitraum des wget Aufrufes blockiert.
Sprich, bei Verwendung des CUxD-Äquivalents von system.Exec hat man diese Probleme grundsätzlich nicht, weil die CCU hier immer direkt weiter arbeiten kann, oder?
Nicht wirklich. Wenn du bei CUxD an den Ausgaben des aufgerufenen Befehles interessiert bist muss CUxD ja auch die ReGa blockieren lassen bis der Befehl abgearbeitet ist, sonst kannst du ihn ja nicht gleich abholen. Und wenn du nicht an den Ausgaben des Befehls auf stdout/stderr interessiert bist hängst du eben einfach ein " &" hinten an den Befehl an und system.Exec() blockiert dann auch nicht und kehrt sofort zurück. Im Zweifel würde ich daher immer system.Exec() inzwischen bevorzugen denn das läuft inzwischen sehr rund und stabil (zumindest sind mir keine Probleme damit mehr bekannt) und man braucht dann eben CUxD nicht zwingend. Für dein zPNP würde ich mir ein Umstieg auf reines system.Exec() z.B. daher auch wünschen ;)
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Graschi
Beiträge: 29
Registriert: 11.01.2018, 11:32

Re: Firmware v2.31.23 online

Beitrag von Graschi » 15.01.2018, 20:13

miwalter hat geschrieben:
Graschi hat geschrieben: Wenn ich sie neu angelernt habe, kann ich zudem keine Einstellungen vornehmen. Die Oberfläche meldet, es gäbe keine Parameter. Das war vorher anders.

Gibt es dafür eine Lösung?
Mein Problem ist auch: Damit sind alle Programme, die diese Geräte referenzieren, natürlich unbrauchbar.
Das Problem kenne ich. Habe jedes Mal Werkreset gemacht und neu angelernt.

Beim letzten Mal aber habe ich einfach gewartet: Update/Neustart (da trat das bei mir auch auf...) Abends um 2300 und am nächsten Morgen erst reingeschaut: Voila, alles wieder da.

Vielleicht mal so probieren... schont Nerven... ich war schon drauf und dran die CCU2 aus dem Fenster zu ballern und sämtliches Zubehör ins Klo zu spülen...
Das Warten hat leider nichts gebracht. Mittlerweile habe ich es mit einem Downgrade auf die 2.29.22 versucht. Leider keine Änderung. Bin ebenfalls kurz davor den ganzen Kram rauszuwerfen.
Anlernen kann ich die IP Geräte nach deren Werksreset, aber einstellen kann ich nichts. Keine Parameter verfügbar.
Wenn ich die CCU2 neu starte kommt hiermit sogar folgende Meldung beim Versuch den Aktor einzustellen:

Das Gerät mit der Seriennummer '00085709A3E924' vom Interface 'HmIP-RF' konnte nicht abgefragt werden!

Starte ich die CCU2 dann erneut neu ist der Aktor wieder verschwunden...

Weiteres Problem: Cloudmatic funktioniert nicht mehr. Erst gab es angeblich keine Verbindung mehr zur CCU2, dann dachte ich ich versuche es mit dem Löschen und neu Laden der Views, seitdem ist nichts mehr verfügbar. Ich kann auch keine Geräte mehr anzeigen.

Muss ich ein Werksreset der CCU2 machen und komplett von vorne starten, also auch die Geräte neu anlernen, die jetzt eigentlich noch funktionieren?

Verzweifelte Grüße...

Edit: Nach einem erneuten Update auf die 2.31.23 kann ich nur noch ein IP Gerät neu anlernen. Das zweite klappt nie. Nach einem Neustart der CCU2 sind beide Geräte wieder weg und ich kann eines der beiden wieder anlernen.

:x

Hab jetzt auch mal eq3 geschrieben. Ich weiß nicht was ich noch machen soll.

Im logfile sehe ich einige Fehler. Z.B.:

Jan 15 21:08:11 de.eq3.cbcs.server.core.persistence.AbstractPersistency ERROR [vert.x-worker-thread-3] Could not do command: PERSISTENCE_COMMAND_ADD_DEVICE
com.esotericsoftware.kryo.KryoException: java.lang.ClassCastException: de.eq3.cbcs.server.core.persistence.PersistentDeviceLinkConfiguration cannot be cast to de.eq3.cbcs.devicemanagement.LinkPartner


Logfile im Anhang. Kann jemand was damit anfangen?
Dateianhänge
homematic-ccu2-2018-01-15.log
(180.28 KiB) 55-mal heruntergeladen

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: Firmware v2.31.23 online

Beitrag von NickHM » 15.01.2018, 23:21

Guten Abend

auf den eq-3 Server wird beim Anlernen nur zugegriffen, wenn Anlernen über Internet ausgewählt wurde.

Hast Du mal die lokale Methode probiert und die beiden Zahlen von beiliegenden Aufkleber eingetippt? Dann braucht die CCU2 den eq-3 Server nicht.

"normal" klingt das alles allerdings nicht :(

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“