FritzBox 6.3 per CUxD steuern

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Ahnungsbefreit
Beiträge: 16
Registriert: 17.06.2020, 18:06
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 6 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Ahnungsbefreit » 01.07.2020, 12:23

Hallo an alle,

zunächst herzlichen Dank an alle für diese tolle Lösung die aktive Community, die das am Leben hält! Klasse!

Nach einigen Fehlversuchen und mehrfachem Lesen der 52 Seiten in diesem Threat habe ich "im Prinzip" meine auf Fritz!Box (7590 auf Fritz!OS 7.12) mit Hilfe dieser Scripte vom Raspi (Pi4) aus Zugriff und kann z.B. Gäste-WLAN an/aus schalten und den Schaltzustand abfragen. Ich habe auch eine Reihe von DECT Aktoren: 3 DECT COMET Heizungsregler, 1 DECT 210 Outdoor-Dose und 1 DECT Repeater.

Zunächst beschränkte ich mich darauf, die DECT 210 zu integrieren und bin wie folgt (gem. Anleitung hier) vorgegangen:

1) Scripte hochgeladen und Berechtigungen gesetzt
2) FB.cfg angepasst
3) CUxD Gerät CUX2801002 angelegt
4) 4 Systemvariablen angelegt:
* CUX2801002:2-Leistung
* CUX2801002:2-Schaltzustand
* CUX2801002:2-Status
* CUX2801002:2-Temperatur

5) Gerät konfiguriert:

PARAM1: sh /usr/local/addons/cuxd/user

Ch.: 1 (für Gäste-WLAN, funktioniert einwandfrei!)
KEY CMD_SHORT: $_P1$/FB-main.sh $_C1$ 0
KEY CMD_LONG: $_P1$/FB-main.sh $_C1$ 1
KEY|CH_PARAM1: WLANGast
KEY|CMD_TIMER: $_P1$/FB-main.sh WLANGast state CUX2801002:1

Ch.: 2
KEY CMD_SHORT: $_P1$/FB-AHA.sh switch $_C1$ 0
KEY CMD_LONG: $_P1$/FB-AHA.sh switch $_C1$ 1
KEY|EXEC_TIMEOUT: 60
KEY|CH_PARAM1: (AIN von DECT!210)
KEY|TIMER_PRESET: 60
KEY|CMD_TIMER: $_P1$/FB-AHA.sh switch $_C1$ state1-pts $CHANNEL$

Ch.: 3
Wie 2, nur für den DECT!Repeater, der auch die Temperatur misst

Und siehe da, die Variablen werden auch gefüllt. Und ich kann die Dose an-/ausschalten und sehe den korrekten Status.

Allerdings "spinnt" die Temperartur-Variable und springt immer wieder zwischen korrekten und falschen Werten. Das zeit auch das Systemprotokoll sehr schön. Nicht wundern, ich habe das selbe Setup auch noch im Channel 3 mit dem DECT!Repeater gemacht, um Fehler auf Seite des Aktors auschließen zu können, aber hier ist das Bild exakt gleich (auch wenn in WebUI das für Ch.3 komischeweise nicht sichtbar ist, nur im Log):
Fritzbox in RaspberryMatic.jpg
Ich habe schon 2x alle Variablen gelöscht, die Geräte gelöscht, CUxD de-installiert und wieder neu installiert aber das alles ändert nix. Komischerweise erscheint die andere Temperatur (Channel :3) jetzt richtig im webUI, obwohl sie ja laut Log auch "spinnt":
Syslog Fehler.jpg
In Redmatic/Node-RED sieht man das selbe Bild, wenn ich die Variablen auslese.

Ach ja, die [email protected] .log ist auch (wie auch CUxD log) komplett unauffällig, selbst auf Debug-Level 2 keine Fehler zu sehen.

Hat jemand eine Idee, was hier los ist?

Mir ist auch noch nicht klar, ob ich auf diesem Wege die Heizungsregler unter Kontrolle bekomme (auslesen und Soll-Wert stellen), aber das habe ich erst einmal hinten angestellt...

Gruß und Danke

Thomas

Ahnungsbefreit
Beiträge: 16
Registriert: 17.06.2020, 18:06
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 6 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Ahnungsbefreit » 02.07.2020, 14:40

Noch ein Nachtrag:

Das Problem mit den "spinnenden" Temperaturwerten tritt immer wieder auf, ist aber auch manchmal für einige Zeit weg. Das sieht man auf dem Screenshot vom Node-Red Dashboard sehr gut, wenn die Linie plötzlich aufhört (weil ausserhalb Wertebereich) und dann wieder fortgeführt wird:
Node-Red Dashboard Einfahrt.jpg
Node-Red Dashboard Einfahrt.jpg (10.29 KiB) 545 mal betrachtet
Ich überlege, das komplette System neu aufzusetzen aber vielleicht hat doch noch jemand eine Idee, was hier los ist?

Gruß

Thomas

Ahnungsbefreit
Beiträge: 16
Registriert: 17.06.2020, 18:06
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 6 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Ahnungsbefreit » 07.07.2020, 09:18

So, auch wenn mir bis jetzt niemand ein Tipp gegeben hat, woran das liegen könnte, möchte ich hier über den Fortgang berichten:

Ich habe heute über "System Reset" und "Backup einspielen" versucht, das Problem zu beheben - ohne Erfolg. :shock: :x

Allerdings sehe ich gerade, dass im Log wohl doch ein Fehler zu sehen ist:

homematic-raspi.fritz.box ReGaHss - - - ReGaHss: ERROR: ScriptRuntimeError: Status=dom.GetObject('CUxD.500.SET_STATE').State("HTTP/1.0") [ExecError():iseESPexec.cpp:12798

Was bitte bedeutet diese Fehler-Meldung? Kann man das irgendwo nachlesen?

Gruß

Thomas

Xel66
Beiträge: 7752
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 36 Mal
Danksagung erhalten: 317 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Xel66 » 07.07.2020, 14:34

Diese Meldung bedeutet, dass der Scriptbefehl nicht ausgeführt werden kann und darum einen Runtime-Fehler wirft. Der Datenpunkt CUxD.500.SET_STATE ist definitiv falsch und zu kurz. Seriennummern von CUxD-Geräten beginnen mit CUX und dann 28 oder 40 (gibt noch andere Nummern, je nach Gerätetyp).

Gruß Xel66
---------------------------------------------------------------------------------
358 Kanäle in 141 Geräten und 114 CUxD-Kanäle in 24 CUxD-Geräten:
274 Programme, 265 Systemvariablen und 144 Direktverknüpfungen,
RaspberryMatic Version 3.51.6.20200420
Testsystem: CCU3 3.49.17
---------------------------------------------------------------------------------

Ahnungsbefreit
Beiträge: 16
Registriert: 17.06.2020, 18:06
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 6 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Ahnungsbefreit » 07.07.2020, 15:26

Hallo Xel66,

danke für die Erklärung! Das Problem ist nur, dass ich (wie aus der Aufstellung 3 Posts weiter oben ersichtlich) keinen solchen Scriptbefehl verwende. Kann man das eingrenzen, wo dieser Aufruf herkommt?

Gruß

Thomas

Xel66
Beiträge: 7752
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 36 Mal
Danksagung erhalten: 317 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Xel66 » 07.07.2020, 20:56

Ahnungsbefreit hat geschrieben:
07.07.2020, 15:26
Das Problem ist nur, dass ich (wie aus der Aufstellung 3 Posts weiter oben ersichtlich) keinen solchen Scriptbefehl verwende.
CUxD ist nicht von vornherein auf der CCU und somit auch keine CUxD-Geräte. Insofern ist es extrem unwahrscheinlich, dass das fehlerhafte Script nicht von Dir angelegt wurde. Das Problem kann man eingrenzen, indem man alle Scripte auf der CCU auf die fehlerhafte Syntax durchsucht. Oder eben den Zeitpunkt des Aufrufes mit den Zeitstempeln der Programme vergleicht. Vor der beanstandeten Scriptzeile steht noch ein "Status=". Könnte auch eine Abfrage eines externen Status über ein CUxD-Gerät sein.

Gruß Xel66
---------------------------------------------------------------------------------
358 Kanäle in 141 Geräten und 114 CUxD-Kanäle in 24 CUxD-Geräten:
274 Programme, 265 Systemvariablen und 144 Direktverknüpfungen,
RaspberryMatic Version 3.51.6.20200420
Testsystem: CCU3 3.49.17
---------------------------------------------------------------------------------

Ahnungsbefreit
Beiträge: 16
Registriert: 17.06.2020, 18:06
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 6 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Ahnungsbefreit » 08.07.2020, 10:46

Hallo Xel66,

danke für die Hilfe und Hartnäckigkeit, irgendwo muss das ja her kommen.

Ich habe genau ein Script auf der CCU (da ich diese ja noch nicht produktiv nutze, bin noch auf Homematic IP):

Code: Alles auswählen

! CPU-Temperatur Raspberry Pi3 auslesen mit vcgencmd measure_temp
! (c) Werner Weber 10.2017
string command = "/usr/bin/vcgencmd measure_temp | awk '// { printf substr($1, length($1) -5, 4)}'";
dom.GetObject ("CUxD.CUX2801001:1.CMD_SETS").State (command);
dom.GetObject ("CUxD.CUX2801001:1.CMD_QUERY_RET").State (1);
dom.GetObject ("Temperatur Raspberry Zahl").State (dom.GetObject ("CUxD.CUX2801001:1.CMD_RETS").State());
dom.GetObject ("Temperatur Raspberry").State (dom.GetObject ("Temperatur Raspberry Zahl").Value().ToString().Substr(0,5));
Und die Systemvariablen "Temperatur Raspberry Zahl" und "Temperatur Raspberry" zur Anzeige auf der Startseite sind auch definiert.

Kann hier der Fehler sein? Sorry, ich bin echt ratlos...

Das Gerät hierfür ist wie folgt aufgesetzt:
2020-07-06 Exec Einstellungen.jpg
mit CMD_SHORT: /usr/bin/vcgencmd measure_temp | awk '// { printf substr($1, length($1) -5, 4)}'

Gruß

Thomas

Xel66
Beiträge: 7752
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 36 Mal
Danksagung erhalten: 317 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Xel66 » 08.07.2020, 15:06

Das Script kann es eher nicht sein, weil dort ja das CUxD-Gerät korrekt adressiert und angesprochen wird. Zum Script selbst äußere ich mich nicht. Hast Du noch andere Instanzen, die von außen auf die CCU zugreifen? Irgendeine Visualisierung o.ä. die die Scriptengine von außen benutzt?

Gruß Xel66
---------------------------------------------------------------------------------
358 Kanäle in 141 Geräten und 114 CUxD-Kanäle in 24 CUxD-Geräten:
274 Programme, 265 Systemvariablen und 144 Direktverknüpfungen,
RaspberryMatic Version 3.51.6.20200420
Testsystem: CCU3 3.49.17
---------------------------------------------------------------------------------

Ahnungsbefreit
Beiträge: 16
Registriert: 17.06.2020, 18:06
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 6 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Ahnungsbefreit » 08.07.2020, 16:37

Nur Redmatic zur Visualisierung

Ich hatte noch das HM-pdetect Addon laufen und habe es eben deinstalliert, aber ohne Erfolg.

Gruß

Thomas

Xel66
Beiträge: 7752
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 36 Mal
Danksagung erhalten: 317 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Xel66 » 08.07.2020, 17:59

Ahnungsbefreit hat geschrieben:
08.07.2020, 16:37
Nur Redmatic zur Visualisierung
Dann eben da nach der fehlerhaften Adresse suchen.

Gruß Xel66
---------------------------------------------------------------------------------
358 Kanäle in 141 Geräten und 114 CUxD-Kanäle in 24 CUxD-Geräten:
274 Programme, 265 Systemvariablen und 144 Direktverknüpfungen,
RaspberryMatic Version 3.51.6.20200420
Testsystem: CCU3 3.49.17
---------------------------------------------------------------------------------

Antworten

Zurück zu „CUxD“