NEWS
Weishaupt WCM-COM Modul in iobroker?
-
Moin zusammen,
weiß jemand, ob man das Weishaupt WCM-COM Modul einbinden kann? Das läuft ja nicht über das WEM Portal, sonst ist eine Standalonelösung im Webbrowser. Bei Weishaupt gibt es ja auch das ebus Projekt, funktioniert das damit ggf.? Hat das schon mal jemand ausprobiert?
VG
Marcel -
@mwolle gibt es dann leider nicht und man nur lokal auf dem Modul gucken
-
@mwolle Hallo, darf ich das so interpretieren, dass WCM-com im iobroker adapter NICHT unterstützt wird? Hat jemand eine Lösung um das WCM-COM Home auszulesen?
Danke vorab.
-
@matthias-kopp nicht das ich wüsste, es gibt ja noch das WEM Portal für die recht neuen Weishaupt Heizungen, dafür gibt es einen Adapter. Für die lokale Lösung über das WCM-COM Modul nicht.
Was mir noch in den Sinn kommt, das läuft ja auch über den ebus (siehe Wolf, Vaillant), vlt geht das ja? -
Ich habe vor kurzem das WCM-COM für einen Kunden reverse engineered um die für ihn wichtigen Daten auszulesen. Das Node Modul ist auf GitHub frei verfügbar https://github.com/foxriver76/node-weishaupt-api.
Einfach im Javascript Adapter bei den Modulen
weishaupt-api
hinzufügen. Dann kann z. B. mittels folgendem Typescript Skript die Daten alle x Sekunden vom Modul abgefragt werden.// @ts-expect-error wtf script adapter import { Weishaupt } from 'weishaupt-api'; const IP = 'http://192.168.144.162'; const POLLING_INTERVAL_MS = 30000; const FOLDER = '0_userdata.0.Heizung.WTC'; /** Used to create states on first response */ let first = true; const api = new Weishaupt({ url: IP }); async function pollData() { try { const res = await api.getHomeParameters(); const res2 = await api.getWTCGProcessParameters(); const res3 = await api.getWCMSOLProcessParameters(); const objArr = [...res, ...res2, ...res3]; for (const obj of objArr) { if (first) { await createStateAsync(`${FOLDER}.${obj.INFONR}`, { type: 'number', role: 'value', read: true, write: false, unit: obj.UNIT }); } await setStateAsync(`${FOLDER}.${obj.INFONR}`, obj.DATA, true); } first = false; } catch (e) { log(`Could not update data from Weishaupt API: ${e.message}`, 'warn'); } setTimeout(() => pollData(), POLLING_INTERVAL_MS); } pollData();
-
Ich bekomme das Skript nicht ans Laufen (allerdings läuft mein iobroker in Docker).
Ich erhalte immer die Fehlermeldungwarn script.js.weishaupt-api: Could not update data from Weishaupt API: Request failed with status code 401
Mich wundert auch, dass man keinerlei Weishaupt-User im Skript angeben muss.
Ich habe die Weishaupt-Abfrage derzeit mit FHEM erfolgreich am Laufen und dort muss User/PW angegeben werden:
https://forum.fhem.de/index.php/topic,17718.0.html
(Dort gibts auch die Files).Kann mir jmd bei der Fehlersuche behilflich sein?
grüße
-
Ich habe es selbst gelöst:
Ich hatte im WCM-com die Benutzer-Authentifizierung aktiviert. Diese muss ausgeschaltet werden, dann klappt es.
-
Habe auch eine Weishaupt Heizung (2021) und nutze das WEM Portal.
Was kann man mit dem WCM-COM Modul mehr sehen als mit dem WEM Portal?
-
@emil70
Soweit ich weiß sind die neueren Generationen cloudbasiert.
Das WCM-com ist ein Hardware-Modul, das nur lokal den ebus anbindet und die Steuerung via LAN erlaubt.
Ich denke nicht, dass das Modul mit den neueren Heizungen kompatibel ist. -
Leider bekomme ich als iobroker-Neuling das nicht zum Laufen.
Ich wäre um jede Hilfestellung sehr froh.
Stand:
- neue Installation von iobroker in VM unter aktuellem Ubuntu 22_04.
- beim Versuch, das Modul via Github zu installieren, bricht es mit Fehlermeldung ab.
- somit funktioniert das installierte Skript natürlich nicht, da das Modul weishaupt.api nicht ansprechbar ist.
Was mache ich falsch bzw. wie kann ich das Problem lösen?
-
@kahless zuerst mal die Langfassung von
iob diag
bitte zeigen, dann wird man sehen dass Deine Installation wahrscheinlich fehlerhaft ist.
Danach sieht man weiter -
@djmarc75 merci für die Unterstützung.
Hier der Output von iob diag:
Skript v.2023-10-10 *** BASE SYSTEM *** Static hostname: iobroker Icon name: computer-vm Chassis: vm Virtualization: kvm Operating System: Ubuntu 22.04.4 LTS Kernel: Linux 5.15.0-105-generic Architecture: x86-64 Hardware Vendor: QEMU Hardware Model: Standard PC _i440FX + PIIX, 1996_ model name : QEMU Virtual CPU version 2.5+ Docker : false Virtualization : kvm Kernel : x86_64 Userland : amd64 Systemuptime and Load: 15:44:52 up 3:00, 4 users, load average: 0.00, 0.04, 0.05 CPU threads: 2 *** Time and Time Zones *** Local time: Mon 2024-04-29 15:44:53 UTC Universal time: Mon 2024-04-29 15:44:53 UTC RTC time: Mon 2024-04-29 15:44:52 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no *** User and Groups *** martin /home/martin martin adm cdrom sudo dip plugdev lxd iobroker *** X-Server-Setup *** X-Server: false Desktop: Terminal: tty Boot Target: graphical.target *** MEMORY *** total used free shared buff/cache available Mem: 3.9G 1.0G 602M 1.0M 2.3G 2.6G Swap: 3.9G 0.0K 3.9G Total: 7.8G 1.0G 4.5G 3911 M total memory 1026 M used memory 708 M active memory 2252 M inactive memory 602 M free memory 140 M buffer memory 2143 M swap cache 3910 M total swap 0 M used swap 3910 M free swap *** FAILED SERVICES *** UNIT LOAD ACTIVE SUB DESCRIPTION 0 loaded units listed. *** FILESYSTEM *** Filesystem Type Size Used Avail Use% Mounted on tmpfs tmpfs 392M 1.2M 391M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv ext4 46G 8.6G 36G 20% / tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 ext4 2.0G 130M 1.7G 8% /boot tmpfs tmpfs 392M 4.0K 392M 1% /run/user/1000 Messages concerning ext4 filesystem in dmesg: [Mon Apr 29 12:44:29 2024] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none. [Mon Apr 29 12:44:30 2024] EXT4-fs (dm-0): re-mounted. Opts: (null). Quota mode: none. [Mon Apr 29 12:44:31 2024] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none. Show mounted filesystems \(real ones only\): TARGET SOURCE FSTYPE OPTIONS / /dev/mapper/ubuntu--vg-ubuntu--lv ext4 rw,relatime |-/snap/core20/2105 /dev/loop0 squashfs ro,nodev,relatime,errors=continue |-/snap/lxd/27037 /dev/loop1 squashfs ro,nodev,relatime,errors=continue |-/snap/snapd/20671 /dev/loop2 squashfs ro,nodev,relatime,errors=continue |-/boot /dev/sda2 ext4 rw,relatime |-/snap/core22/1380 /dev/loop3 squashfs ro,nodev,relatime,errors=continue |-/snap/docker/2915 /dev/loop4 squashfs ro,nodev,relatime,errors=continue |-/snap/core18/2823 /dev/loop5 squashfs ro,nodev,relatime,errors=continue `-/snap/mosquitto/873 /dev/loop6 squashfs ro,nodev,relatime,errors=continue Files in neuralgic directories: /var: 950M /var/ 689M /var/lib 455M /var/lib/snapd 262M /var/lib/snapd/cache 234M /var/cache Archived and active journals take up 24.0M in the file system. /opt/iobroker/backups: 4.0K /opt/iobroker/backups/ /opt/iobroker/iobroker-data: 82M /opt/iobroker/iobroker-data/ 76M /opt/iobroker/iobroker-data/files 57M /opt/iobroker/iobroker-data/files/javascript.admin 38M /opt/iobroker/iobroker-data/files/javascript.admin/static 37M /opt/iobroker/iobroker-data/files/javascript.admin/static/js The five largest files in iobroker-data are: 7.0M /opt/iobroker/iobroker-data/files/javascript.admin/static/js/675.d0c8b930.chunk.js.map 6.3M /opt/iobroker/iobroker-data/files/admin.admin/custom/static/js/vendors-node_modules_iobroker_adapter-react-v5_assets_devices_parseNames_js-node_modules_iobr-99c23e.847b8ad9.chunk.js.map 6.0M /opt/iobroker/iobroker-data/files/javascript.admin/static/js/344.2eef1017.chunk.js.map 4.8M /opt/iobroker/iobroker-data/objects.jsonl 4.6M /opt/iobroker/iobroker-data/files/javascript.admin/vs/language/typescript/tsWorker.js USB-Devices by-id: USB-Sticks - Avoid direct links to /dev/* in your adapter setups, please always prefer the links 'by-id': find: '/dev/serial/by-id/': No such file or directory *** NodeJS-Installation *** /usr/bin/nodejs v18.20.2 /usr/bin/node v18.20.2 /usr/bin/npm 10.5.0 /usr/bin/npx 10.5.0 /usr/bin/corepack 0.25.2 nodejs: Installed: 18.20.2-1nodesource1 Candidate: 18.20.2-1nodesource1 Version table: *** 18.20.2-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 100 /var/lib/dpkg/status 18.20.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.20.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.19.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.19.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.18.2-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.18.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.18.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.17.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.17.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.16.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.16.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.15.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.14.2-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.14.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.14.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.13.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.12.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.11.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.10.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.9.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.9.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.8.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.7.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.6.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.5.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.4.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.3.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.2.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.1.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.0.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 12.22.9~dfsg-1ubuntu3.5 500 500 http://de.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages 500 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages 12.22.9~dfsg-1ubuntu3 500 500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages Temp directories causing npm8 problem: 0 No problems detected Errors in npm tree: *** ioBroker-Installation *** ioBroker Status iobroker is running on this host. Objects type: jsonl States type: jsonl Core adapters versions js-controller: 5.0.19 admin: 6.13.16 javascript: 7.8.0 Adapters from github: 1 Adapter State + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.backitup.0 : backitup : iobroker - enabled + system.adapter.discovery.0 : discovery : iobroker - enabled + system.adapter.javascript.0 : javascript : iobroker - enabled system.adapter.ping.0 : ping : iobroker - disabled system.adapter.shelly.0 : shelly : iobroker - disabled, port: 1882, bind: 0.0.0.0 system.adapter.synology.0 : synology : iobroker - disabled, port: 5000 + instance is alive Enabled adapters with bindings + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0, run as: admin ioBroker-Repositories stable : http://download.iobroker.net/sources-dist.json beta : http://download.iobroker.net/sources-dist-latest.json Active repo(s): stable Installed ioBroker-Instances Used repository: stable Adapter "admin" : 6.13.16 , installed 6.13.16 Adapter "backitup" : 2.11.0 , installed 2.11.0 Adapter "discovery" : 4.4.0 , installed 4.4.0 Adapter "javascript" : 7.8.0 , installed 7.8.0 Controller "js-controller": 5.0.19 , installed 5.0.19 Adapter "ping" : 1.6.2 , installed 1.6.2 Adapter "shelly" : 6.9.0 , installed 6.9.0 Adapter "synology" : 3.1.0 , installed 3.1.0 Objects and States Please stand by - This may take a while Objects: 225 States: 147 *** OS-Repositories and Updates *** Hit:1 http://de.archive.ubuntu.com/ubuntu jammy InRelease Hit:2 http://de.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:3 http://de.archive.ubuntu.com/ubuntu jammy-backports InRelease Hit:4 https://deb.nodesource.com/node_18.x nodistro InRelease Hit:5 http://security.ubuntu.com/ubuntu jammy-security InRelease Reading package lists... Pending Updates: 12 *** Listening Ports *** Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1001 101763 16628/iobroker.js-c tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 1001 101756 16628/iobroker.js-c tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 102 20674 615/systemd-resolve tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 26353 2457/sshd: /usr/sbi tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 85441 1/init tcp 0 0 127.0.0.1:1883 0.0.0.0:* LISTEN 0 26302 2450/mosquitto tcp6 0 0 :::8081 :::* LISTEN 1001 101828 16646/io.admin.0 tcp6 0 0 :::22 :::* LISTEN 0 26364 2457/sshd: /usr/sbi tcp6 0 0 :::111 :::* LISTEN 0 85445 1/init tcp6 0 0 ::1:1883 :::* LISTEN 0 26303 2450/mosquitto udp 0 0 127.0.0.53:53 0.0.0.0:* 102 20673 615/systemd-resolve udp 0 0 192.168.0.214:68 0.0.0.0:* 101 20729 612/systemd-network udp 0 0 0.0.0.0:111 0.0.0.0:* 0 85443 1/init udp6 0 0 :::111 :::* 0 85447 1/init *** Log File - Last 25 Lines *** 2024-04-29 15:23:00.770 - info: javascript.0 (17151) script.js.common.Heizung: compiling TypeScript source... 2024-04-29 15:23:00.873 - error: javascript.0 (17151) script.js.common.Heizung: TypeScript compilation failed: import { Weishaupt } from 'weishaupt-api'; ^ ERROR: Cannot find module 'weishaupt-api' or its corresponding type declarations. 2024-04-29 15:31:17.500 - info: admin.0 (16646) <== Disconnect system.user.admin from ::ffff:192.168.0.77 javascript 2024-04-29 15:33:20.885 - info: host.iobroker iobroker url https://github.com/foxriver76/node-weishaupt-api --host iobroker --debug 2024-04-29 15:33:22.521 - info: host.iobroker iobroker install foxriver76/node-weishaupt-api#e49f53a35fd1b6675d65e7469d19fc09bfd64648 2024-04-29 15:33:23.119 - info: host.iobroker iobroker NPM version: 10.5.0 2024-04-29 15:33:23.120 - info: host.iobroker iobroker Installing foxriver76/node-weishaupt-api#e49f53a35fd1b6675d65e7469d19fc09bfd64648... (System call) 2024-04-29 15:33:55.561 - info: host.iobroker iobroker up to date in 32s64 packages are looking for funding run `npm fund` for details 2024-04-29 15:33:55.586 - error: host.iobroker iobroker 2024-04-29 15:33:55.587 - error: host.iobroker iobroker host.iobroker Cannot install foxriver76/node-weishaupt-api#e49f53a35fd1b6675d65e7469d19fc09bfd64648: 0 2024-04-29 15:33:56.611 - info: host.iobroker iobroker exit 25 2024-04-29 15:35:04.753 - info: admin.0 (16646) ==> Connected system.user.admin from ::ffff:192.168.0.77 2024-04-29 15:35:09.924 - info: admin.0 (16646) <== Disconnect system.user.admin from ::ffff:192.168.0.77 javascript 2024-04-29 15:36:37.792 - info: admin.0 (16646) ==> Connected system.user.admin from ::ffff:192.168.0.77 2024-04-29 15:36:41.261 - info: javascript.0 (17151) Stop script script.js.common.Heizung 2024-04-29 15:36:41.355 - info: javascript.0 (17151) script.js.common.Heizung: compiling TypeScript source... 2024-04-29 15:36:41.438 - error: javascript.0 (17151) script.js.common.Heizung: TypeScript compilation failed: import { Weishaupt } from 'weishaupt-api'; ^ ERROR: Cannot find module 'weishaupt-api' or its corresponding type declarations.
-
@kahless bis auf Deine 12 pending updates sieht es ganz nett bei Dir aus - ABER
Warum machst Du nicht das was im Beitrag geschrieben wird und versuchst dieses Weishaput-Teil per Git zu installieren ?
Das steht so nirgends, sondern:@foxriver76 sagte in Weishaupt WCM-COM Modul in iobroker?:
Einfach im Javascript Adapter bei den Modulen weishaupt-api hinzufügen
Und dann eben dieses Typeskript im JavaSkriptAdapter einfügen und anpassen:
// @ts-expect-error wtf script adapter import { Weishaupt } from 'weishaupt-api'; const IP = 'http://192.168.144.162'; const POLLING_INTERVAL_MS = 30000; const FOLDER = '0_userdata.0.Heizung.WTC'; /** Used to create states on first response */ let first = true; const api = new Weishaupt({ url: IP }); async function pollData() { try { const res = await api.getHomeParameters(); const res2 = await api.getWTCGProcessParameters(); const res3 = await api.getWCMSOLProcessParameters(); const objArr = [...res, ...res2, ...res3]; for (const obj of objArr) { if (first) { await createStateAsync(`${FOLDER}.${obj.INFONR}`, { type: 'number', role: 'value', read: true, write: false, unit: obj.UNIT }); } await setStateAsync(`${FOLDER}.${obj.INFONR}`, obj.DATA, true); } first = false; } catch (e) { log(`Could not update data from Weishaupt API: ${e.message}`, 'warn'); } setTimeout(() => pollData(), POLLING_INTERVAL_MS); } pollData();
Ob das nach knapp 2 Jahren noch funktioniert keine Ahnung und ich selbst nutze weder Weishaupt noch Typeskript.
Wollte nur Hilfestellung bieten
-
Vielleicht stehe ich hier auf dem Schlauch.
JavaSkriptAdapter ist der?
Für den habe ich eine Instanz erstellt und dort das Modul angegeben:
Wie geht es dann weiter?
-
@kahless sagte in Weishaupt WCM-COM Modul in iobroker?:
Für den habe ich eine Instanz erstellt und dort das Modul angegeben
das wäre korrekt, aber vorher hast Du versucht diesen Adapter per GIT zu installieren und das ist ein NOGO.
@kahless sagte in Weishaupt WCM-COM Modul in iobroker?:
Wie geht es dann weiter?
Wie ich es zitiert habe:
Das Typeskript im JavaSkriptAdapter einfügen und ggf. konfigurieren.
Aber nochmals - ich nutze das alles nicht und kann da keinen weiteren Support bieten.