CuxD mit serieller Kommunikation und Systemvariable setzen

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

Moderator: Co-Administratoren

Antworten
norbert999
Beiträge: 3
Registriert: 20.11.2024, 08:57
System: Alternative CCU (auf Basis OCCU)

CuxD mit serieller Kommunikation und Systemvariable setzen

Beitrag von norbert999 » 16.03.2025, 10:48

Ich habe raspberrymatic 3.79.6.20250220 (rpi3) am Laufen.
Installiert ist CuxD 2.12
Im CuxD und raspberrymatic ist die 19-Tasten Fernbedienung eingerichtet. Details dazu siehe Cuxd-Info (s.u.)

Ich habe ein serielles Gerät, welches am raspi über USB angeschlossen ist. Die Kommuniaktion funktioniert auch: Wenn ich mit dem Cuxd-Terminal die hex-Bytes AA01 sende, dann sehe ich im Terminal die richtige Antwort:

Code: Alles auswählen

10:21:03 [ttyUSB0] <-- AA01
10:21:03 [ttyUSB0] --> 000100F401D007201C000000000000983600000000003DEE2E0040E8EA
Was ich nicht hinbekomme ist, diesen Rückgabestring in eine Systemvariable (Name ist "Status_Judo_Wasserstop") zu schreiben.

Ich habe wohl die CuxD-Doku gelesen, als auch die Beispiele für das Setzen von Systemvariablen ganz am Ende des Dokuments. Aber ich bekomme es einfach nicht hin. Ich weiss nicht, was ich faslch mache oder übersehe? Weitere Suche im Netz hat auch nichts ergeben, nur die Einsicht, dass das eigentlich ganz einfach sein sollte.
Was mache ich denn falsch? Bitte um Hilfe.



Hier noch die Status-Seite des CuxD:

Code: Alles auswählen

USB 1-1 - (9514) [HUB] - Sun Mar 16 09:01:55 2025
  USB 1-1.1 - (ec00) [FF] - no driver - Sun Mar 16 09:01:55 2025
  USB 1-1.5 - {NONE} FT232R USB UART [FF] - /dev/ttyUSB0 [X] {:539s} - connected - Sun Mar 16 09:01:55 2025

  Erfolgreich mit HomeMatic-CCU 127.0.0.1:8183 verbunden!

  als RPC-Server(INIT) von HomeMatic-CCU (4045) angefordert!

  Diese Web-Seite wurde aufgerufen von: 192.168.1.209

  CUxD-Uptime(2.12):              0 Tag(e) 01:28:07, 155824 Bytes belegt, Compiled Aug 17 2024 20:06:11
  CCU-Uptime(3.79.6.20250220):    0 Tag(e) 21:23:54, load-average: 0.15 0.16 0.17, 10s-cpu-load: 6.4%
  Speicher:  Total 970084k  Used 618380k  Free 351704k  (Cached 177580k)  Available 502316k

  Linux version 6.6.74 (builder@610bbdbcf94a) (aarch64-buildroot-linux-gnu-gcc.br_real (Buildroot -ga1218c7) 13.3.0, GNU ld (GNU Binutils) 2.42) #1 SMP PREEMPT Thu Feb 20 09:15:47 UTC 2025
  aktive CCU-Prozesse: ReGaHss(1) rfd(1) hs485d(0) java(1)
  system.Latitude(48.434340) system.Longitude(11.840043) - 16.03.2025 CUxD.SunRiseTime(06:20) CUxD.SunSetTime(18:19)

  Filesystem: /                  ext4     (ro) Total     996780k  Used     848568k (85.1%)  Free     148212k (14.9%)
  Filesystem: /dev               devtmpfs (rw) Total     449904k  Used          0k ( 0.0%)  Free     449904k (100.0%)
  Filesystem: /tmp               tmpfs    (rw) Total     485040k  Used        120k ( 0.0%)  Free     484920k (100.0%)
  Filesystem: /dev/shm           tmpfs    (rw) Total     485040k  Used          0k ( 0.0%)  Free     485040k (100.0%)
  Filesystem: /var               tmpfs    (rw) Total     485044k  Used       2616k ( 0.5%)  Free     482428k (99.5%)
  Filesystem: /media             tmpfs    (rw) Total     485040k  Used          0k ( 0.0%)  Free     485040k (100.0%)
  Filesystem: /usr/local         ext4     (rw) Total   59783064k  Used    3142668k ( 5.3%)  Free   56640396k (94.7%)
  Filesystem: /boot              vfat     (ro) Total     261868k  Used      78400k (29.9%)  Free     183468k (70.1%)

  CCU-MAC:     B8:27:EB:C7:68:01
  HM-Config:   /etc/config/homematic.regadom(2575700) OK! - Sun Mar 16 08:35:21 2025
  CUxD-Config: /tmp/cuxd.ps.sav(1733) - D - Sun Mar 16 10:26:55 2025
               /usr/local/addons/cuxd/cuxd.ps(1733) - D - Sun Mar 16 10:26:55 2025
               /usr/local/addons/cuxd/cuxd.ps.bak(1734) - D - Sun Mar 16 09:51:55 2025

  aktuelle Parameter: (* = bei Änderung Neustart erforderlich)

	*LISTENPORT      '8700'
	*HM-HOST         '127.0.0.1'
	*HM-SCRIPT-PORT  '' -> (8183)
	*HM-REGA-PORT    '' -> (31999)
	*RPCHOST         '127.0.0.1'
	*RPCPORT         '8701'
	 HTTP-REFRESH    '5'
	 TERMINALLINES   '25'
	 RCVLOGSIZE      '20000'
	 USERACCESS      ''
	 CUXINITCMD      'X21'
	 LOGFILE         ''
	 LOGLEVEL        '1'
	 LOGFLAGS        ''
	 LOGSIZE         '1000000'
	 LOGFILEMOVE     ''
	 DEVLOGFILE      ''
	 DEVLOGSIZE      '100000'
	 DEVLOGMOVE      ''
	 DEVLOGMOVE-HR   ''
	 DEVLOGEXPORT    ''
	 DEVTIMEFORMAT   '%Y-%m-%dT%X'
	 DEVDATAFORMAT   ''
	 DEVLOGOLDALIAS  '0'
	 SUBSCRIBE-RF    '1'
	 SUBSCRIBE-WR    '1'
	 AUTOSAVE        '1'
	 MOUNTCMD        ''
	 UMOUNTCMD       ''
	 BACKUPCMD       ''
	 SYSLOGMOVE      ''
	 SYSLOGMOVEDAILY ''
	 TH-DIR          ''
	 TH-DIR-FILTER   ''
	 ADDRESS-BUFFER  '120'
	 CLOUDMATIC_CMD  '/etc/config/addons/mh/cloudmatic'
	 WEBCAMCONFIG    '/usr/local/addons/cuxd/webcamconfig.ini'
	 WEBCAMSNAPSHOT  '/tmp/snapshots'
	 WEBCAMCACHE     '/tmp/webcams'
	 SYSLOGFILENAME  '/var/log/messages'
	 HMSLOGFILENAME  '/var/log/hmserver.log'
	 CUXD-CHARTS     '/etc/config/addons/www/cuxchart/index.html'
	 DFU-ERASE       './dfu-programmer $TARGET$ erase --force'
	 DFU-FLASH       './dfu-programmer $TARGET$ flash $HEXFILE$'
	 DFU-START       './dfu-programmer $TARGET$ start'
	 REMOTE-PARAMS   ''
	 REMOTE-CMD      ''
	 LEVELFILTER     '0'

  TTY Konfiguration:

	ttyUSB0:9600:8N1 {AUTO} HEX


  Aktuelle Geräteeinstellungen - 1 Gerät(e), 16 Channel(s):

	CUX4000001:	dev('') KEY
	CUX4000001:1	RCV_SHORT('000100F401D007201C00000000000098360000000000??EE2E0040????':reg) --> dev('ttyUSB0') CMD_SHORT('AA01')
			RCV_LONG('':reg) --> dev('ttyUSB0') CMD_LONG('')
	CUX4000001:2	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:3	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:4	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:5	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:6	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:7	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:8	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:9	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:10	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:11	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:12	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:13	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:14	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:15	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')
	CUX4000001:16	RCV_SHORT('') --> CMD_SHORT('')
			RCV_LONG('') --> CMD_LONG('')

Benutzeravatar
uwe111
Beiträge: 4888
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 260 Mal
Kontaktdaten:

Re: CuxD mit serieller Kommunikation und Systemvariable setzen

Beitrag von uwe111 » 17.03.2025, 14:00

Hallo Norbert,
norbert999 hat geschrieben:
16.03.2025, 10:48
Was ich nicht hinbekomme ist, diesen Rückgabestring in eine Systemvariable (Name ist "Status_Judo_Wasserstop") zu schreiben.
Über den Datenpunkt RCVS solltest Du den kompletten Rückgabestring auslesen können.
Ich weiß jetzt nicht, ob man das auch per Programmverknüpfung machen kann, aber per HM-Script könntest Du ihn Deiner Systemvariablen zuweisen.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

norbert999
Beiträge: 3
Registriert: 20.11.2024, 08:57
System: Alternative CCU (auf Basis OCCU)

Re: CuxD mit serieller Kommunikation und Systemvariable setzen

Beitrag von norbert999 » 18.03.2025, 10:18

Hallo uwe111,

danke für Deinen Hinweis. Ich kriege es einfach nicht hin. Kannst Du mir bei dem HM-script helfen?

Benutzeravatar
uwe111
Beiträge: 4888
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 260 Mal
Kontaktdaten:

Re: CuxD mit serieller Kommunikation und Systemvariable setzen

Beitrag von uwe111 » 19.03.2025, 16:38

Hallo Norbert,

Vielleicht so?

Code: Alles auswählen

var srcobj = dom.GetObject("CUxD.CUX4000001:1.RCVS");
var dstobj = dom.GetObject("Status_Judo_Wasserstop");
dstobj.State(srcobj.Value());
Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

Antworten

Zurück zu „CUxD“