Systemvariable der CCU mit Werten aus ioBroker "füllen"

Moderator: Co-Administratoren

tr90
Beiträge: 57
Registriert: 03.03.2019, 12:15
System: CCU
Hat sich bedankt: 7 Mal

Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von tr90 » 13.04.2019, 14:23

Hallo,

ich habs schon mal geschrieben, ich bin noch ziemlich neu mit der Homematic unterwegs.
Aber es klappt schon ganz gut.
Was ich allerdings (noch) nicht geschafft habe ist, das ich Werte (true,false würde ja schon mal reichen) in eine SV der CCU hineinbekomme.
Homematic läuft bei mir auf einer CCU3, auf einem RaspberryPi3 habe ich den ioBroker installiert.
Beides läuft für sich so gut vor sich hin, der ioBroker zeigt mir auch Daten aus der Homematic an.
Aber der Weg vom ioBroker in die Homematic stellt sich als recht schwierig dar.
Im ioBroker habe ich schon verschiedene Adapter installiert, welche auch verarbeitbare Werte liefern.
Jetzt möchte ich mit diesen Werten Systemvariable in der Homematic "füllen".
Ich sagen hier mal bewußt "füllen", weil es mir eigentlich egal ist, ob die Daten per "Push" oder "Pull" in die Homematic kommen.

Im ioBroker hab ich zB. "Ping" eingerichtet, um die Anwesenheit div. Telefone zu ermitteln.
Wie bekomme ich das jetzt in die CCU?

Danke schon mal für Eure Hilfe

Thomas
Zuletzt geändert von alchy am 13.04.2019, 17:31, insgesamt 1-mal geändert.
Grund: verschoben aus Homematic - HomeMatic CCU

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von paul53 » 13.04.2019, 14:36

tr90 hat geschrieben:
13.04.2019, 14:23
Wie bekomme ich das jetzt in die CCU?
Mit einem einfachen Javascript (Adapter ioBroker.javascript).

Code: Alles auswählen

const idSV = getIdByName('Name_der_SV');

on('idQuelldatenpunkt', function(dp) { // triggert bei Wertänderung des Quelldatenpunktes
   setState(idSV, dp.state.val);
});
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von manfredh » 13.04.2019, 15:09

Oder wenn dir Blockly im ioBroker lieber ist:
Zwischenablage01.jpg
Zwischenablage01.jpg (9.32 KiB) 10604 mal betrachtet
So übergebe ich z.B. die Temperaturen meiner Netatmo-Wetterstation (Temperature) an eine SV (Aussentemperatur) der CCU.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

tr90
Beiträge: 57
Registriert: 03.03.2019, 12:15
System: CCU
Hat sich bedankt: 7 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von tr90 » 14.04.2019, 18:05

@manfredh,

Danke, das Script funktioniert super, hat mir sehr geholfen!

Gruß

Thomas

Slice
Beiträge: 1192
Registriert: 03.02.2016, 14:44
System: Alternative CCU (auf Basis OCCU)
Wohnort: irgendwo aus Süd BaWü
Hat sich bedankt: 135 Mal
Danksagung erhalten: 82 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von Slice » 27.10.2019, 15:51

Hallo zusammen,

ich klinke mich hier mal ein, da ich auch Werte aus dem ioBroker in die CCU3 übertragen möchte. Muss dazu sagen das ich noch ioBroker Anfänger bin!!

Ich habe im ioBroker eine FritzDect Steckdose (für meinen Raspi3B+) und möchte die Werte Energy und Power in SV's schreiben in der CCU3 um diese dann in CCU-Historian zu haben.
Adapter sind installiert und haben auch die neuste Version.
In meinem Blockly habe ich unterschiedliche Sachen ausprobiert, über "binde" oder "steuere" jeweils die Werte zu übertragen, was auch funktionert, allerdings erhalte ich immer im Log folgenden Fehler (von unten nach oben!):
Blockly.JPG
Blockly

Code: Alles auswählen

javascript.0	2019-10-27 15:36:43.309	warn	at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
javascript.0	2019-10-27 15:36:43.309	warn	at Socket.Readable.push (_stream_readable.js:224:10)
javascript.0	2019-10-27 15:36:43.309	warn	at readableAddChunk (_stream_readable.js:269:11)
javascript.0	2019-10-27 15:36:43.309	warn	at addChunk (_stream_readable.js:288:12)
javascript.0	2019-10-27 15:36:43.308	warn	at Socket.emit (events.js:198:13)
javascript.0	2019-10-27 15:36:43.308	warn	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
javascript.0	2019-10-27 15:36:43.308	warn	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
javascript.0	2019-10-27 15:36:43.308	warn	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
javascript.0	2019-10-27 15:36:43.308	warn	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
javascript.0	2019-10-27 15:36:43.308	warn	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
javascript.0	2019-10-27 15:36:43.308	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
javascript.0	2019-10-27 15:36:43.308	warn	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
javascript.0	2019-10-27 15:36:43.308	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
javascript.0	2019-10-27 15:36:43.308	warn	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
javascript.0	2019-10-27 15:36:43.308	warn	at WebSocket.emit (events.js:198:13)
javascript.0	2019-10-27 15:36:43.308	warn	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
javascript.0	2019-10-27 15:36:43.308	warn	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
javascript.0	2019-10-27 15:36:43.307	warn	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
javascript.0	2019-10-27 15:36:43.307	warn	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
javascript.0	2019-10-27 15:36:43.307	warn	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
javascript.0	2019-10-27 15:36:43.307	warn	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
javascript.0	2019-10-27 15:36:43.307	warn	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
javascript.0	2019-10-27 15:36:43.307	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
javascript.0	2019-10-27 15:36:43.307	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
javascript.0	2019-10-27 15:36:43.307	warn	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
javascript.0	2019-10-27 15:36:43.307	warn	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
javascript.0	2019-10-27 15:36:43.307	warn	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
javascript.0	2019-10-27 15:36:43.307	warn	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
javascript.0	2019-10-27 15:36:43.307	warn	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
javascript.0	2019-10-27 15:36:43.307	warn	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
javascript.0	2019-10-27 15:36:43.307	warn	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
javascript.0	2019-10-27 15:36:43.307	warn	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
javascript.0	2019-10-27 15:36:43.306	warn	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
javascript.0	2019-10-27 15:36:43.306	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
javascript.0	2019-10-27 15:36:43.306	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
javascript.0	2019-10-27 15:36:43.306	warn	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3706:37)
javascript.0	2019-10-27 15:36:43.306	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
javascript.0	2019-10-27 15:36:43.306	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
javascript.0	2019-10-27 15:36:43.306	warn	at Object.<anonymous> (script.js.common.FritzDect_EnergyPower:6:3)
javascript.0	2019-10-27 15:36:43.306	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
javascript.0	2019-10-27 15:36:43.306	warn	Wrong type of hm-rega.0.39499: "string". Please fix, while deprecated and will not work in next versions.
Gerade dieses "Wrong type of hm-rega.0.39499: "string". Please fix, while deprecated and will not work in next versions." habe ich auch gegoogelt und man findet ein paar Einträge wegen der Art von SV's.
Beide SV's sind bei mir vom Typ Zahl und bei einer geht es ohne Fehler (das ist die Power mit ca. 4 W) und bei der Energy (das ist die Summe mit ca. 72000 Wh) geht es nicht, genau das ist die "hm-rega.0.39499" aus dem Log.
Hat mir einer eine Idee wie ich die Werte sauber ohne Fehler übertragen kann??

Danke und Grüße,
Slice
----------------------------------------------------------------------------------------
Raspi3B+ Bullseye mit HB-RF-ETH und RPI-RF-MOD auf piVCCU-FW 3.73.9 / Addons: CuxD v2.11 - E-Mail v1.7.6 - Patcher v1.0.0 - Philips Hue v3.2.5 - Programme drucken v2.6 - Scriptparser v1.11 - XML-API v2.3
Geräte: 141 / Kanäle: 791 / Datenpunkte: 6080 / SysVars: 275 / Programme: 161 / Regadom IDs: 14010 / 48 CUxD-Kanäle in 3 CUxD-Geräten
Intel NUC i3-5010U @ 2,1 GHz mit 16 GB RAM & 512 GB SSD für Proxmox mit ioBroker VM und CCU-Historian/InfluxDB/Grafana VM
----------------------------------------------------------------------------------------
Projekte im Forum: HomeHub v4.1 / Fritzbox-Anruferliste für HomeHub
----------------------------------------------------------------------------------------

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von Cash » 27.10.2019, 17:32

Zur Blockly kann ich nichts sagen aber der Fehler ist eindeutig und besagt das Du etwas mit einen falschen Datentyp in ein Feld schreibst...

Hast Du also ein String-Feld sollte dort auch string rein und hast Du ein Zahlenfeld sollte eben eine Zahl rein. Ggf muss Du das ganze in Deinen Blockly mal umwandeln...

Ich würde allerdings direkt in ioBroker loggen.

Slice
Beiträge: 1192
Registriert: 03.02.2016, 14:44
System: Alternative CCU (auf Basis OCCU)
Wohnort: irgendwo aus Süd BaWü
Hat sich bedankt: 135 Mal
Danksagung erhalten: 82 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von Slice » 27.10.2019, 18:17

Hallo Cash,

wenn ich im ioBroker mir die Objekte anschaue, sind die beiden FritzDect Datenpunkte und die beiden SV's in der CCU3 als Typ "Zahl" hinterlegt.
Das ist das was ich leider nicht verstehe..
Hat jemand ein Javascript statt Blockly was ich versuchen kann? Evtl mit einer Umwandlung?!
Bin leider echt noch Anfänger in der Richtung..

EDIT:
Mit dem hier gepostet von paul53 komme ich leider nicht klar:
viewtopic.php?f=46&p=537954#p503655

Ich logge lieber die CCU3 in CCU-Historian und InfluxDB für den Rest hier, aber jeder wie er will! :wink:

Grüße,
Slice
----------------------------------------------------------------------------------------
Raspi3B+ Bullseye mit HB-RF-ETH und RPI-RF-MOD auf piVCCU-FW 3.73.9 / Addons: CuxD v2.11 - E-Mail v1.7.6 - Patcher v1.0.0 - Philips Hue v3.2.5 - Programme drucken v2.6 - Scriptparser v1.11 - XML-API v2.3
Geräte: 141 / Kanäle: 791 / Datenpunkte: 6080 / SysVars: 275 / Programme: 161 / Regadom IDs: 14010 / 48 CUxD-Kanäle in 3 CUxD-Geräten
Intel NUC i3-5010U @ 2,1 GHz mit 16 GB RAM & 512 GB SSD für Proxmox mit ioBroker VM und CCU-Historian/InfluxDB/Grafana VM
----------------------------------------------------------------------------------------
Projekte im Forum: HomeHub v4.1 / Fritzbox-Anruferliste für HomeHub
----------------------------------------------------------------------------------------

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von paul53 » 27.10.2019, 19:01

Slice hat geschrieben:
27.10.2019, 18:17
Blockly was ich versuchen kann?
Blockly_temp.JPG
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Slice
Beiträge: 1192
Registriert: 03.02.2016, 14:44
System: Alternative CCU (auf Basis OCCU)
Wohnort: irgendwo aus Süd BaWü
Hat sich bedankt: 135 Mal
Danksagung erhalten: 82 Mal

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von Slice » 27.10.2019, 19:28

Danke paul53, das hab ich jetzt mal so versucht umzusetzen!
Ich werde berichten obs funktioniert.

EDIT:
Nun funktioniert es ohne Fehler, die Werte kommen in der CCU3 und im CCU-Historian an!! Danke nochmal!!


Grüße,
Slice
----------------------------------------------------------------------------------------
Raspi3B+ Bullseye mit HB-RF-ETH und RPI-RF-MOD auf piVCCU-FW 3.73.9 / Addons: CuxD v2.11 - E-Mail v1.7.6 - Patcher v1.0.0 - Philips Hue v3.2.5 - Programme drucken v2.6 - Scriptparser v1.11 - XML-API v2.3
Geräte: 141 / Kanäle: 791 / Datenpunkte: 6080 / SysVars: 275 / Programme: 161 / Regadom IDs: 14010 / 48 CUxD-Kanäle in 3 CUxD-Geräten
Intel NUC i3-5010U @ 2,1 GHz mit 16 GB RAM & 512 GB SSD für Proxmox mit ioBroker VM und CCU-Historian/InfluxDB/Grafana VM
----------------------------------------------------------------------------------------
Projekte im Forum: HomeHub v4.1 / Fritzbox-Anruferliste für HomeHub
----------------------------------------------------------------------------------------

joe13
Beiträge: 67
Registriert: 10.11.2013, 22:16

Re: Systemvariable der CCU mit Werten aus ioBroker "füllen"

Beitrag von joe13 » 10.03.2020, 19:27

Hallo zusammen,

haben in iobroker openweathermap eingepfegt.

Nun möchte ich eine SV in der CCU2 mit den Temperaturen MAX füllen.
Aber wie
tr90 hat geschrieben:
13.04.2019, 14:23
Mit einem einfachen Javascript (Adapter ioBroker.javascript).

Code: Alles auswählen

const idSV = getIdByName('Name_der_SV');

on('idQuelldatenpunkt', function(dp) { // triggert bei Wertänderung des Quelldatenpunktes
setState(idSV, dp.state.val);
});
Das klingt ja gut, aber wo muss man das bei/in Javascript eintragen/schreiben

danke joe

Antworten

Zurück zu „Sonstige Steuerungen und Visualisierungen“