HMCCU Systemvariablen auslesen per vars > kein Reading vorhanden

Begonnen von Depechem, 13 November 2018, 12:47:30

Vorheriges Thema - Nächstes Thema

Depechem

Hallo ich habe in der CCU3 folgende Systemvariable: USV.VoltBatterie
den Wert dieser Variable möchte ich gern in HMCCU in ein Reading geschrieben haben.

Also ein get d_ccu vars USV.VoltBatterie dann passiert aber nix, das Device d_ccu erstellt kein neues Reading.
Was muss ich noch konfigurieren damit aus der Systemvariable ein Reading wird?
attr d_ccu event-on-change-reading.* ist gesetzt
attr d_ccu ccureadings 1 gibts ja nicht mehr

Habe ich einen Denkfehler?
Vielen Dank imm voraus
Gruß Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

zap

Leider sendet die CCU keine Aktualisierungen für Variablen, da diese in der Logikschicht der CCU abgebildet sind und nicht in der RPC Schicht.

Explizit abfragen kann man die Variablen mit

get d_ccu vars reg-exp

Wenn sie regelmäßig abgefragt werden sollen, geht das mit dem Attribut ccuGetVars. Siehe Commandref zu HMCCU.

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Depechem

Zitat von: zap am 13 November 2018, 13:29:41
Leider sendet die CCU keine Aktualisierungen für Variablen, da diese in der Logikschicht der CCU abgebildet sind und nicht in der RPC Schicht.

Explizit abfragen kann man die Variablen mit

get d_ccu vars reg-exp

Wenn sie regelmäßig abgefragt werden sollen, geht das mit dem Attribut ccuGetVars. Siehe Commandref zu HMCCU.

ups ich hatte mich verschrieben
Meine Nachricht / Nachfrage bezog sich auf
get d_ccu vars USV.VoltBatterie
dort füllt er mir kein reading!?

Ich habe es oben nochmal geändert
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Depechem

Ich habe jetzt nochmal geschaut, da ich einfach keine Readings meiner gewünschten Systemvariablen in FHEM bekomme.

Ich habe laut Homematicforum meine S.USV mit Raspberry verbunden und mit Hilfe eines Skript`s und Systemvariablen nun in der CCU die Werte meiner USV als Ausgabe vorhanden.
Diese Werte sind in den Systemvariablen siehe Bilderanhang vorhanden.

Wenn ich nun ein get d_ccu vars USVSource auslöse kommt aber kein Reading.
Folgende Fehlermeldung wird mit im Log angezeigt:

2018.11.16 08:25:10.932 2: HMCCURPCPROC: [d_rpcCUxD] Wrong number of parameters in event EV|CB8701002200|1542353110|CUX2801001:11|CMD_SETS|s=$(/opt/susvd/susv -status|tr -s "*" " ");b=${s#*Source: };list=${b%% *};b=${b#*age in: };list=$list";"${b%% *};b=${b#*capacity: };list=$list";"${b%%%*};b=${b#*voltage: };list=$list";"${b%%V*};b=${b#*Battery: };list=$list";"${b%% *};echo $list. Expected 4


CUX2801001:11 ist das CUxD Device(Kanal) worüber der Skript aufgerufen wird
(s=$(/opt/susvd/susv -status|tr -s "*" " ");b=${s#*Source: };list=${b%% *};b=${b#*age in: };list=$list";"${b%% *};b=${b#*capacity: };list=$list";"${b%%%*};b=${b#*voltage: };list=$list";"${b%%V*};b=${b#*Battery: };list=$list";"${b%% *};echo $list) ist der Pfad der von dem CUxD Device(CUX2801001:11) aufgerufen wird.

Hat bitte jemand einen Ansatz für mich wie ich diese Systemvatiablen in FHEM abgebildet bekomme.
Oder ist dies nicht möglich?

Gruß Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

zap

Die Fehlermeldung im Log hat nichts mit der Aktualisierung der Systemvariablen zu tun. Das ist ein Bug in HMCCURPCPROC. Es wird nicht berücksichtigt, dass ein Event der CCU auch senkrechte Striche enthalten kann. Diese werden als Trennzeichen interpretiert. Korrigiere ich mit dem nächsten Release.

Zum Abfragen der Variablen:

das Attribut ccuflags in d_ccu darf nicht noReadings enthalten!

Dann sollte z.B. das Readings liefern:

get d_ccu vars USV.*

ggf. nach Ausführung die Browser Seite aktualisieren.

Und noch ein Hinweis: Wenn eine Variable keinen Wert enthält (z.B. einen leeren String), wird auch kein Reading erzeugt.

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Depechem

#5
Zitat von: zap am 16 November 2018, 10:05:13
Die Fehlermeldung im Log hat nichts mit der Aktualisierung der Systemvariablen zu tun. Das ist ein Bug in HMCCURPCPROC. Es wird nicht berücksichtigt, dass ein Event der CCU auch senkrechte Striche enthalten kann. Diese werden als Trennzeichen interpretiert. Korrigiere ich mit dem nächsten Release.

Zum Abfragen der Variablen:

das Attribut ccuflags in d_ccu darf nicht noReadings enthalten!

Dann sollte z.B. das Readings liefern:

get d_ccu vars USV.*


ggf. nach Ausführung die Browser Seite aktualisieren.

Und noch ein Hinweis: Wenn eine Variable keinen Wert enthält (z.B. einen leeren String), wird auch kein Reading erzeugt.

- Attribut ccuflags in d_ccu steht nur
Zitatprocrpc
drin (Siehe Screenshoot von FHEM im Anhang)
- get d_ccu vars USV.* bringt leider nicht die gewünschten Readings (nur ein leeres Fenster siehe Anhang Nr. 16)
- Seite wurde mehrmals aktualisiert
- FHEM und CCU neu gestartet
- Raspimatic und FHEM haben alle aktuellen Updates
- "Variable keinen Wert enthält" sind ja Werte drin siehe Screenshot letzter post

ich weis echt nicht weiter
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

zap

Das leere Popup ist ok. Wenn Du get vars aus der FHEM Oberfläche aus aufrufst (also über das Dropdown hinter get), kommt das nicht. Die Variablen müssten aber trotzdem kommen.

Versuche mal folgendes:

set d_ccu hmscript !GetVariables dump

Das sollte die Variablen im Browserfenster auflisten
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Depechem

Zitat von: zap am 16 November 2018, 10:48:56
Das leere Popup ist ok. Wenn Du get vars aus der FHEM Oberfläche aus aufrufst (also über das Dropdown hinter get), kommt das nicht. Die Variablen müssten aber trotzdem kommen.

Versuche mal folgendes:

set d_ccu hmscript !GetVariables dump

Das sollte die Variablen im Browserfenster auflisten

da kommt folgendes ${sysVarPresence}=1=true
@HomeNotification=@HomeTestNotification=@HomeTestNotification
Alarmzone1


ich habe in der CCU aber viel mehr Variablen  :-\
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

zap

Ruge auf der CCU mal "Status und Bedienung" / "Systemvariable" auf und poste die Tabelle.
Könnte was mit den Sonderzeichen zu tun haben ($ { ...)
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Depechem

Zitat von: zap am 16 November 2018, 11:33:12
Ruge auf der CCU mal "Status und Bedienung" / "Systemvariable" auf und poste die Tabelle.
Könnte was mit den Sonderzeichen zu tun haben ($ { ...)

ohje warum steht dort keine von meinen USV Variablen drin?
bei "Einstellungen" > "Systemvariablen" sind sie alle zu finden  :o
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

zap

In dem Fall solltest Du Dir mal den Systemlog der CCU anschauen. Da scheint einiges im Argen zu liegen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Depechem

Zitat von: zap am 16 November 2018, 11:42:20
In dem Fall solltest Du Dir mal den Systemlog der CCU anschauen. Da scheint einiges im Argen zu liegen.

Kommando zurück jetzt sind sie bei "Status und Bedienung" drin. Siehe Anhang
Lag daran das ich die Variablen einem Kanal zugeortnet hatte.

Problem ist trotzdem noch vorhanden:

set d_ccu hmscript !GetVariables dump bringt immernoch das gleiche
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

jsChris

Hi,

ich glaube, ich habe ein ähnliches Problem.

Ich habe eine Variable "Status" auf der ccu, mit der ich ganz grob einen Status (über fhem) setzen möchte: Default, Urlaub, Party etc.

get vars ccu3 S.*
--> hier passiert gar nichts. fhems Weboberfläche reagiert nicht, im fhem Log gibt es keinen Eintrag, attr verbose auf ccu3 ist auf 5 gesetzt

set ccu3 var Status Urlaub
--> ebenfalls keine erkennbare Reaktion

set ccu3 hmscript !GetVariables dump
gibt nur aus:

${sysVarAlarmZone1}

attr ccuflags steht bei mir ebenfalls auf procrpc

Vielleicht noch eine Idee, was ich ausprobieren könnte / falsch mache?

Danke
Chris


Depechem

Na da bin ich aber froh das ich nicht der einzige bin, vieleicht hat ja zap noch eine Idee. Weil wenn nicht er, wer dann  :-[
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Depechem

Zitat von: jsChris am 16 November 2018, 22:11:39
Hi,

ich glaube, ich habe ein ähnliches Problem.

Ich habe eine Variable "Status" auf der ccu, mit der ich ganz grob einen Status (über fhem) setzen möchte: Default, Urlaub, Party etc.

get vars ccu3 S.*
--> hier passiert gar nichts. fhems Weboberfläche reagiert nicht, im fhem Log gibt es keinen Eintrag, attr verbose auf ccu3 ist auf 5 gesetzt

set ccu3 var Status Urlaub
--> ebenfalls keine erkennbare Reaktion

set ccu3 hmscript !GetVariables dump
gibt nur aus:

${sysVarAlarmZone1}

attr ccuflags steht bei mir ebenfalls auf procrpc

Vielleicht noch eine Idee, was ich ausprobieren könnte / falsch mache?

Danke
Chris



Hi Chris, konntest du noch was rausfinden?
Gruß Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...