Open Darkman1900 opened 2 years ago
I just saw that Hobbyquaker did a change just 18 days ago with NodeRed 2.1.5 đ
Hi, I can add to the list: node-red-contrib-zigbee2mqtt@2.0.5 It is also not working anymore after upgrading it...I hope the update of redmatic is approaching soon... How can I manually upgrade to node-red v2.2? Thanks a lot.
Not for the faint of the heart, but i built a release for the prerelease: https://github.com/Tscherno/RedMatic-1/releases
Hello,
A update of redmatic would be nice. I have got some problems with different package because of old environment. For now my entire flow are disabled because of a update of one package. The package was deinstalled and can't be installed again. The maintainer says that the reason is old json.
see https://github.com/windkh/node-red-contrib-telegrambot/issues/235
So I have now to decide to delete a lot of nodes from config or stay with disabled all flows until a new version, from package or node red, is available. :( Some Weeks ago I have had similar problem with other package. But this maintainer have make a new package with compatibility for old node red versions.
Regards
Hello,
A update of redmatic would be nice. I have got some problems with different package because of old environment. For now my entire flow are disabled because of a update of one package. The package was deinstalled and can't be installed again. The maintainer says that the reason is old json.
see windkh/node-red-contrib-telegrambot#235
So I have now to decide to delete a lot of nodes from config or stay with disabled all flows until a new version, from package or node red, is available. :( Some Weeks ago I have had similar problem with other package. But this maintainer have make a new package with compatibility for old node red versions.
Regards
You can install or uninstall packages via SSH console: go to path (normally the path for your nodes) and use npm installer:
cd /usr/local/addons/redmatic/var
npm install --save --no-package-lock --global-style --save-prefix="~" --production <paket-name>
npm uninstall --no-package-lock --global-style --save-prefix="~" --production <paket-name>
in your case:
cd /usr/local/addons/redmatic/var
npm install --no-package-lock --global-style --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production node-red-contrib-telegrambot@11.2.0
should bring back a running version - make a backup before Hope that helps Best regards Michael
Hi Michael.
I tried your suggestions, but get some EROFS errors.
This code
cd /usr/local/addons/redmatic/var
npm remove --no-package-lock --no-audit --no-update-notifier --no-fund --save node-red-contrib-telegrambot
leads to
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
Unhandled rejection Error: EROFS: read-only file system, mkdir '/root/.npm'
npm ERR! cb() never called!
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! <https://github.com/npm/npm/issues>
Have you had the same issue? Best regards, Tobi
cd /usr/local/addons/redmatic/var
npm install --no-package-lock --global-style --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production node-red-contrib-telegrambot@11.2.0
Try install not remove
Hi Michael.
First of all, thanks for your quick response. I am using the CCU3 and logged in via SSH with the root user.
Unfortunatelly, I get the same error when trying to install:
I first tried to uninstall/remove, because according the "package.json" file the newest version (node-red-contrib-telegrambot@11.2.3) is currently installed but can not uninstalled via RedMatic/NodeRed, because it is not shown within the installed nodes list.
Seems that I have to wait till a new RedMatic version with NodeRed >2.1.x is released...
Best, Tobi
@tobilindner before node-red commands you should make your filesystem writable via
mount -o remount,rw /
Afterwards you should make it readonly again via
mount -o remount,r /
Not for the faint of the heart, but i built a release for the prerelease:
Does it works? What are your further steps? Would you release the 8.0 with the node red 2.0 version?
well... i think i have to find a cheap rpi4 to run nodered on ...
I would also really appreciate an update. Quite a lot contribs that can't be installed :/
Redmatic is a great installation in Homematic environment. Please upgrade to the newest version. So many users will be happy to get an actual environment without the need to install a separate instance for nodered.
Was kann die Gemeinde tun? Wie können wir unterstĂŒtzen?
Es reicht auch Node-Red! Die Zusatzpakete kann sich ja jeder nach Bedarf installieren. Ist dann vielleicht weniger Arbeit.
tja.... inzwischen wird es immer schwieriger redmatic am laufen zu halten.
Ich wĂ€re dankbar, fĂŒr einen Hinweis, ob ich mich umorientieren muss.
tja.... inzwischen wird es immer schwieriger redmatic am laufen zu halten.
Ich wĂ€re dankbar, fĂŒr einen Hinweis, ob ich mich umorientieren muss.
WĂŒrde ich auch drum bitten @hobbyquaker Ist das addon tot? Wie kann man helfen?, kann man zb commits fĂŒr die Doku machen?
Wie Zeitintensiv ist ein Upgrade?
Ich ziehe einen Schlussstrich und migriere alles auf NodeRed integriert in Home Assistant. Dort entsteht gerade auch ganz aktuell ein neue Homematic Integration. ZusÀtzlich gibt es schon lÀnger Raspberrymatic als Addon zum Installieren innerhalb von Home Assistant.
@Tscherno ich auch. Ich hab mir heute nen Tinkerboard 2S bestellt... da lÀuft NodeRed dann alleine drauf. Durch die Aufteilung der Raspberrymatic und NodeRed auf 2 Tinkerboard hoffe ich vielleicht sogar um einen ganz kleinen Performance Anstieg beider Systeme :P
Guter Hinweis mit der Migration auf ein "Standard-Node-RED". Danke. Ich habe ein paar Node-RED-Instanzen bei mir laufen, die meisten unter DietPi (weil schlank und schnell), da lĂ€uft alles glatt. Der Zugriff auf die Homematic klappt dabei sehr gut. Ich kann die Migration nur empfehlen. Das soll jetzt keine Kritik an RedMatic sein, ich kann nachvollziehen, wie aufwĂ€ndig eine stĂ€ndige "HinterherAktualisiererei" anderer integrierter Softwareteile mit dem jeweiligen Anwender-Gemecker sein kann. Man ist da stark von auĂen getrieben und kann nur noch reagieren. Insofern dennoch vielen Dank an RedMatic.
Habâs am laufen und lĂ€uft schneller als vorher. Irgendwie entlastet es auch die Raspberrymatic hab ich das GefĂŒhl.
Guter Hinweis mit der Migration auf ein "Standard-Node-RED". Danke. Ich habe ein paar Node-RED-Instanzen bei mir laufen, die meisten unter DietPi (weil schlank und schnell), da lĂ€uft alles glatt. Der Zugriff auf die Homematic klappt dabei sehr gut. Ich kann die Migration nur empfehlen. Das soll jetzt keine Kritik an RedMatic sein, ich kann nachvollziehen, wie aufwĂ€ndig eine stĂ€ndige "HinterherAktualisiererei" anderer integrierter Softwareteile mit dem jeweiligen Anwender-Gemecker sein kann. Man ist da stark von auĂen getrieben und kann nur noch reagieren. Insofern dennoch vielen Dank an RedMatic.
Hi, ich habe fĂŒr kurze Zeit Node-Red auf meiner Synology DS920+ in einem Docker Container laufen lassen. Ich hatte das GefĂŒhl, dass das Homematic Plugin das ganze System in die Knie gezwungen hat.
Hab ich da etwas verbummelt, oder gibt es noch mehr mit dieser Erfahrung?
@Tonitom nein, da hast Du nichts verbummelt. Bei mir lief die Raspi mit RedMatic Addon extrem trĂ€ge. Jetzt wo beide Systeme getrennt auf Tinkerboard laufen, ist es gefĂŒhlt ein ganzes StĂŒck schneller.
ggf. als Entscheidungshilfe zu der oben angesprochenen Migration und den Beobachtungen.
Ich habe Homematic als piVCCU auf einem Raspberry laufen und bisher auch RedMatic verwendet.
Nun habe ich auf dem gleichen Pi einen weiteren lxc Container erstellt und dort Node-Red 3.x installiert (incl. mount des Memory-Sticks fĂŒr Chart Daten etc. Ablage zur Schonung der Pi-SD-Karte) . Dann alle Flows von RedMatic exportiert und in Node-Red importiert. Nicht ĂŒbernommene Passwörter und Einstellungen in wenigen Nodes wieder eingegeben bzw. angepasst (neue IP Adresse/neuer Pfad fĂŒr Node-Red Web ZugĂ€nge) und alles lief problemlos. Nebeneffekt: Homematic CCU3 (piVCCU) startet VIEL schneller durch und das Backup der Homematic ist auch rasend schnell.
PS: Ich finde die Arbeiten von @hobbyquaker auch sehr gut, aber die UnabhÀngigkeit von eigenstÀndiger SW mit eigenem Lebenszyklus und damit unabhÀngiger Pflege hat doch Vorteile.
Hm, das ist vielleicht der richtige Weg. Performanz Probleme zwischen CCU3 und Node-Red gibt es keine?
Nebenfrage: Warum nicht gleich auf eine SSD installiert?
Hi, welchen node nutzt ihr in nodered um euch mit der CCU zu verbinden?
Derzeit noch node-red-contrib-ccu. Ich bin aber dabei einen eigen node zu entwickeln, um zukĂŒnftig via CCU-Jack die Anbindung zu machen.
Derzeit noch node-red-contrib-ccu
dto. Das ist auch von @hobbyquaker. Denke, dass hier die Zukunft auch eher ungewiss ist.
Mein Favorit wĂ€re zukĂŒnftig ein MQTT-Client auf der CCU. Habe mich aber noch nicht umgeschaut, was dafĂŒr in Frage kommt.
Naja, wie geschrieben wÀre das der CCU-Jack direkt als Addon auf der CCU oder extern im Docker
@drMaxxi: nehme auch node-red-contrib-ccu was ohne Probleme lĂ€uft @Tonitom: Performance Probleme habe ich nie beobachtet (auch vor RedMatic). SSD: ich will den Pi so verbrauchsoptimiert wie möglich verwenden. Ich brauche keine schnelle Bootgeschwindigkeit und fĂŒr die wenigen Daten zur Zwischenablage reicht ein alter Stick. @djiwondee: warum erst auf MQTT und dann zu Node-Red. Ich möchte immer so wenig wie möglich Instanzen wegen Pflege und VerfĂŒgbarkeit im Spiel haben. MQTT verwende ich zwischen Node-Red und anderen Komponenten, wĂŒrde es aber nie zur CCU nehmen, wenn es nicht nötig wĂ€re. Ohne Message Broker (Mosquitto o.Ă€.) ginge sonst nichts zwischen Node-Red und CCU. @ptweety: Eine Ă€hnliche Meinung hĂ€tte ich zu CCU-Jack via Docker. AuĂerdem sind die CCU und Node-Red meine Logikschichten fĂŒr funktionale AblĂ€ufe zwischen allen Komponenten. Warum sollte in CCU-Jack eine dritte Instanz mit Pflege installiert werden. Welchen Vorteil bringt das? Aber das ist alles nur meine Meinung und ggf. habe ich ja auch nicht alle Aspekte verstanden. .
@ptweety
CCU-Jack direkt als Addon auf der CCU
Oh das ist cool! Habe ich zwar einen Berg Arbeit fĂŒr die Umstellung meiner aktuell 53 Homematic-Devices im Haus. Aber das wird sich lohnen.
@GnomiBerlin :
@drMaxxi: nehme auch node-red-contrib-ccu was ohne Probleme lÀuft
"Noch" lÀuft es mit node-red-contrib-ccu
. Aber wie weiter oben schon erklÀrt, wird dieser node auch absehbar nicht mehr gepflegt. Du steckst damit in der gleichen "Sackgasse", wie mit RedMatic.
@djiwondee: warum erst auf MQTT und dann zu Node-Red. Ich möchte immer so wenig wie möglich Instanzen wegen Pflege und VerfĂŒgbarkeit im Spiel haben. MQTT verwende ich zwischen Node-Red und anderen Komponenten, wĂŒrde es aber nie zur CCU nehmen, wenn es nicht nötig wĂ€re. Ohne Message Broker (Mosquitto o.Ă€.) ginge sonst nichts zwischen Node-Red und CCU.
CCU-Jack ist nicht nur MQTT-Client, sondern auch ein MQTT-Broker und kann sogar als MQTT-Bridge agieren. Damit brauchst du also keinen weiteren Broker.
@ptweety: Eine Ă€hnliche Meinung hĂ€tte ich zu CCU-Jack via Docker. AuĂerdem sind die CCU und Node-Red meine Logikschichten fĂŒr funktionale AblĂ€ufe zwischen allen Komponenten. Warum sollte in CCU-Jack eine dritte Instanz mit Pflege installiert werden. Welchen Vorteil bringt das?
CCU-Jack
ganz allgemein ersetzt die bisherige Anbindung externer Applikationen ĂŒber xml-api oder rpc durch eine REST-API und Benachrichtigung per MQTT. Damit wird die Anbindung generischer und mit deutlich besser verbreiteten Technologien erreicht.
CCU-Jack als Addon
auf einer CCU bringt zusÀtzliche Funktionen mit, wie etwa virtuelle GerÀte (Àhnlich zu CUxD), welche dann direkt aus MQTT-Nachrtichten von Shellies oder Tasmota-GerÀten angesprochen werden können
Aber das ist alles nur meine Meinung und ggf. habe ich ja auch nicht alle Aspekte verstanden.
Vielleicht hilft dir das obige ja weiter ...
Mein Smart-Home besteht aus:
Mein Setup der Wahl:
Ginge genauso mit Homeassistant statt Iobroker. Iobroker hat mir persönlich am Ende besser gefallen. Mein einziger "Wermutstropfen" ist dass die NR Instanz innerhalb Iobroker lĂ€uft. Die hĂ€tte ich noch gerne gĂ€nzlich eigenstĂ€ndig (war aber zu faul, alles ĂŒber MQTT zu biegen).
@ptweety
CCU-Jack direkt als Addon auf der CCU
Oh das ist cool! Habe ich zwar einen Berg Arbeit fĂŒr die Umstellung meiner aktuell 53 Homematic-Devices im Haus. Aber das wird sich lohnen.
Vielleicht kann dir dieser Flow dabei etwas helfen, den ich fĂŒr die Anbindung des CCU-Jack an Node-Red verwende und Daten zwischen speichere, um letztlich MQTT-Nachrichten mit Anreicherung an InfluxDB zu senden.
Eine kleine Anleitung zur Konfiguration ist im Jack Cache
zu finden. ZusÀtzlich muss noch in den inject
nodes jeweils der Adresse des Funkmoduls statt FUNKMODUL eingetragen werden.
Mit diesem Knoten werden eingehende MQTT-Nachrichten des CCU-Jack um weitere Informationen zu dem jeweiligen
angereichert. Aus der ursprĂŒnglichen Nachricht msg
wird das msg.topic
zur Identifikation der benötigten Informationen herangezogen, zerlegt und in einzelne Abfragen an den CCU-Jack umgewandelt. Die Antworten werden fĂŒr eine festgelegte Zeit zwischengespeichert und bei einer spĂ€teren Abfrage ggfs. genutzt.
Im Start-Tab kann die Konfiguration eingetragen werden:
const config = {
cache: 'jack-cache', // Name im globalen Kontext
proto: 'http',
ip: 'ccu-jack.local',
port: 2121,
user: 'user',
password: 'password',
key: `-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----`,
cert: `-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----`,
}
[
{
"id": "2d752ee6.b38eda",
"type": "influxdb out",
"z": "c097cad3.926648",
"influxdb": "",
"name": "influxdb/redmatic",
"measurement": "",
"precision": "",
"retentionPolicy": "",
"database": "",
"precisionV18FluxV20": "ns",
"retentionPolicyV18Flux": "",
"org": "ptweety-net",
"bucket": "nodered",
"x": 690,
"y": 200,
"wires": []
},
{
"id": "de8a48e1.1f4a18",
"type": "comment",
"z": "c097cad3.926648",
"name": "Duty Cycle und Events an influxdb leiten",
"info": "Dieser Flow\n\n* fragt in Intervallen \nvon 30 Sekunden den Duty Cycle des \nersten Funk-Interfaces des BidCos-RF\nSchnittstellenprozess (\"rfd\") per RPC ab\n* nimmt jedes Event der CCU\n\nund leitet diesen an influxdb weiter.",
"x": 200,
"y": 160,
"wires": []
},
{
"id": "2cd26313f07a36cf",
"type": "function",
"z": "c097cad3.926648",
"name": "Jack Cache",
"func": "const jackAPI = context.get('util').jackAPI;\nconst getLinks = context.get('util').getLinks;\n\nconst hasProperty = (object, propertyName) => {\n return Object.prototype.hasOwnProperty.call(object, propertyName);\n}\n\n/**\n * status: indicate working state\n */\nnode.status({\n fill: 'yellow',\n shape: 'dot',\n text: 'working',\n});\n\n/**\n * cache: add root, domains & vendor/config information\n */\nconst root = await jackAPI('/', 1000 * 60 * 60 * 24); // 1d\n\nif (root) {\n await Promise.all(getLinks(root, 'domain').map(async (link) => {\n const ret = await jackAPI(link.url, 1000 * 60 * 60 * 4); // 4h\n }));\n}\n\nconst config = await jackAPI('/~vendor/config/~pv', 1000 * 60 * 60 * 4); // 4h\n\n/**\n * msg: split, analyze and add additional data (either from cache or api call)\n */\n\nlet message = {}\nlet ids = msg.topic.split('/');\n\nswitch (ids[0]) {\n case 'device': {\n // mqtt topic example: device/status/${device}/${channel}/${datapoint}\n \n const req = [\n { url: `/device/${ids[2]}`, ttl: 1000 * 60 * 60 * 2 }, // 2h\n { url: `/device/${ids[2]}/${ids[3]}`, ttl: 1000 * 60 * 60 * 1 }, // 1h\n { url: `/device/${ids[2]}/${ids[3]}/${ids[4]}`, ttl: 1000 * 60 * 10 }]; // 10min\n \n const [device, channel, datapoint] = await Promise.all(req.map( (line) => {\n return jackAPI(line.url, line.ttl);\n }));\n\n setTimeout(() => {let self = node; self.status({})}, 1000);\n return ( hasProperty(device, 'type') &&\n hasProperty(channel, 'type') &&\n hasProperty(datapoint, 'id')\n ) ? {\n topic: msg.topic,\n measurement: device.type.charAt(0).toUpperCase()\n + device.type.charAt(1).toLowerCase()\n + device.type.slice(2)\n + '/' + datapoint.id,\n payload: [{\n payload: msg.payload.v\n },{\n ccu: config.v.CCU.Address,\n iface: device.interfaceType,\n device: device.address,\n deviceName: device.title.charAt(0).toUpperCase()\n + device.title.charAt(1).toLowerCase()\n + device.title.slice(2),\n deviceType: device.type.charAt(0).toUpperCase()\n + device.type.charAt(1).toLowerCase()\n + device.type.slice(2),\n channel: channel.address,\n channelName: channel.title,\n channelType: channel.type,\n channelIndex: channel.index,\n room: channel['~links'].filter( it => it.rel == 'room').map(x => x.title)[0],\n function: channel['~links'].filter( it => it.rel == 'function').map(x => x.title)[0],\n }]\n } : {};\n //break;\n }\n default: {\n setTimeout(() => {let self = node; self.status({})}, 1000);\n return msg;\n }\n}\n\n/**\n * status: return to state\n */\nsetTimeout(() => {let self = node; self.status({})}, 1000);\n\n/**\n * msg: output\n */\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "// Der Code hier wird ausgefĂŒhrt,\n// wenn der Node gestartet wird\n\n//node.status({\n// fill: 'blue',\n// shape: 'dot',\n// text: 'configuration required',\n//}); // delete me\n \nnode.status({\n fill: 'green',\n shape: 'dot',\n text: 'configured',\n});\n\n// Please enter your <ip>, <user> & <password> below\n\n// IMPORTANT: if you use https on port 2122\n// please change <proto> & <port> as well\n// Also, you must include propper <key> & <cert>\n// This might be self-signed ones from ccu-jack\n\nconst config = {\n cache: 'jack-cache',\n proto: 'http',\n ip: '192.168.1.2',\n port: 2121,\n user: 'mqtt',\n password: '???',\n key: `-----BEGIN RSA PRIVATE KEY-----\n\n-----END RSA PRIVATE KEY-----`,\n cert: `-----BEGIN CERTIFICATE-----\n\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n\n-----END CERTIFICATE-----`,\n}\n\n// no changes below this comment required\n\n//context.set('jack', config);\n\nlet cache = context.get(config.cache) || {};\n\nconst util = {\n jackAPI: async (url, ttl) => {\n const ts = Date.now();\n if ( !cache[url] || cache[url].ts < (ts - ttl) ) {\n try {\n const { data } = await axios.get(url, {\n baseURL: `${config.proto}://${config.ip}:${config.port}`,\n auth: { username: config.user, password: config.password },\n httpsAgent: new https.Agent({ rejectUnauthorized: false, key: config.key, cert: config.cert }),\n }).catch((err) => { }); // node.warn({ url: url, error: err, ...msg })\n cache[url] = data || {};\n cache[url].ts = ts;\n cache[url].ttl = ttl;\n context.set(config.cache, cache);\n cache = context.get(config.cache);\n } catch(error) {}\n }\n return cache[url] || {};\n },\n\n getLinks: (obj, rel, ...args) => {\n let ret = [];\n\n obj['~links']\n .sort((a, b) => { return a.href.localeCompare(b.href) })\n .filter( link => link.href !== '..')\n .filter( link => link.href !== '$MASTER')\n .filter( link => rel !== null ? link.rel === rel : true)\n .forEach( (link, ind, arr) => {\n ret.push({\n url: args.length > 0 ? '/' + args[0] + '/' + link.href : '/' + link.href,\n request: args.length > 1 ? args[1] : link.href,\n });\n })\n \n return ret;\n }\n}\n\ncontext.set('util', util);",
"finalize": "",
"libs": [
{
"var": "axios",
"module": "axios"
},
{
"var": "https",
"module": "https"
}
],
"x": 430,
"y": 200,
"wires": [
[
"dd5858b7f61dba08",
"11c37ab62f2dea5f"
]
],
"info": "## CCU-Jack Cache\n\nMit diesem Knoten werden eingehende MQTT-Nachrichten des [CCU-Jack](https://github.com/mdzio/ccu-jack) um weitere Informationen zu dem jeweiligen\n\n - GerĂ€t\n - Kanal\n - Datenpunkt\n \nangereichert. Aus der ursprĂŒnglichen Nachricht `msg` wird das `msg.topic` zur Identifikation der benötigten Informationen herangezogen, zerlegt und in einzelne Abfragen an den CCU-Jack umgewandelt. Die Antworten werden fĂŒr eine festgelegte Zeit zwischengespeichert und bei einer spĂ€teren Abfrage ggfs. genutzt.\n\n### Konfiguration\n\nIm **Start**-Tab kann die Konfiguration eingetragen werden:\n\n```\nconst config = {\n cache: 'jack-cache', // Name im globalen Kontext\n proto: 'http',\n ip: 'ccu-jack.local',\n port: 2121,\n user: 'user',\n password: 'password',\n key: `-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----`,\n cert: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----`,\n}\n```\n\n\n### Details"
},
{
"id": "dd5858b7f61dba08",
"type": "debug",
"z": "c097cad3.926648",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 590,
"y": 240,
"wires": []
},
{
"id": "cdaba029be705fc7",
"type": "inject",
"z": "c097cad3.926648",
"name": "getSubscriptions",
"props": [
{
"p": "action",
"v": "getSubscriptions",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 235,
"y": 200,
"wires": [
[
"40b6ab7ae51bffc4"
]
],
"icon": "font-awesome/fa-question-circle",
"l": false
},
{
"id": "40b6ab7ae51bffc4",
"type": "mqtt in",
"z": "c097cad3.926648",
"name": "",
"topic": "",
"qos": "2",
"datatype": "json",
"broker": "",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 1,
"x": 295,
"y": 200,
"wires": [
[
"2cd26313f07a36cf"
]
],
"l": false
},
{
"id": "c70378a5128557c8",
"type": "inject",
"z": "c097cad3.926648",
"name": "unsubscribe",
"props": [
{
"p": "action",
"v": "unsubscribe",
"vt": "str"
},
{
"p": "topic",
"v": "[\"device/status/FUNKMODUL/0/+\",\"device/status/+/0/LOW_BAT\",\"device/status/+/0/OPERATING_VOLTAGE\",\"device/status/+/0/RSSI_DEVICE\",\"device/status/+/0/SABOTAGE\",\"device/status/+/0/UNREACH\",\"device/status/+/1/AVERAGE_ILLUMINATION\",\"device/status/+/1/CURRENT_ILLUMINATION\",\"device/status/+/1/HIGHEST_ILLUMINATION\",\"device/status/+/1/ILLUMINATION\",\"device/status/+/1/LOWEST_ILLUMINATION\",\"device/status/+/1/MOTION\",\"device/status/+/1/PRESENCE_DETECTION_STATE\",\"device/status/+/1/ACTIVE_PROFILE\",\"device/status/+/1/ACTUAL_TEMPERATURE\",\"device/status/+/1/BOOST_MODE\",\"device/status/+/1/CONTROL_MODE\",\"device/status/+/1/HUMIDITY\",\"device/status/+/1/LEVEL\",\"device/status/+/1/SET_POINT_MODE\",\"device/status/+/1/SET_POINT_TEMPERATURE\",\"device/status/+/1/STATE\",\"device/status/+/1/SWITCH_POINT_OCCURED\",\"device/status/+/1/WINDOW_STATE\"]",
"vt": "json"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 165,
"y": 200,
"wires": [
[
"40b6ab7ae51bffc4"
]
],
"icon": "font-awesome/fa-pause-circle",
"l": false
},
{
"id": "10733c3d52232cd5",
"type": "inject",
"z": "c097cad3.926648",
"name": "subscribe",
"props": [
{
"p": "action",
"v": "subscribe",
"vt": "str"
},
{
"p": "topic",
"v": "[\"device/status/FUNKMODUL/0/+\",\"device/status/+/0/LOW_BAT\",\"device/status/+/0/OPERATING_VOLTAGE\",\"device/status/+/0/RSSI_DEVICE\",\"device/status/+/0/SABOTAGE\",\"device/status/+/0/UNREACH\",\"device/status/+/1/AVERAGE_ILLUMINATION\",\"device/status/+/1/CURRENT_ILLUMINATION\",\"device/status/+/1/HIGHEST_ILLUMINATION\",\"device/status/+/1/ILLUMINATION\",\"device/status/+/1/LOWEST_ILLUMINATION\",\"device/status/+/1/MOTION\",\"device/status/+/1/PRESENCE_DETECTION_STATE\",\"device/status/+/1/ACTIVE_PROFILE\",\"device/status/+/1/ACTUAL_TEMPERATURE\",\"device/status/+/1/BOOST_MODE\",\"device/status/+/1/CONTROL_MODE\",\"device/status/+/1/HUMIDITY\",\"device/status/+/1/LEVEL\",\"device/status/+/1/SET_POINT_MODE\",\"device/status/+/1/SET_POINT_TEMPERATURE\",\"device/status/+/1/STATE\",\"device/status/+/1/SWITCH_POINT_OCCURED\",\"device/status/+/1/WINDOW_STATE\"]",
"vt": "json"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"x": 95,
"y": 200,
"wires": [
[
"40b6ab7ae51bffc4"
]
],
"icon": "font-awesome/fa-play-circle",
"l": false
},
{
"id": "11c37ab62f2dea5f",
"type": "switch",
"z": "c097cad3.926648",
"name": "",
"property": "measurement",
"propertyType": "msg",
"rules": [
{
"t": "nnull"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 555,
"y": 200,
"wires": [
[
"2d752ee6.b38eda"
]
],
"l": false
}
]
@GnomiBerlin :
@drMaxxi: nehme auch node-red-contrib-ccu was ohne Probleme lÀuft
Leider ist auch das nicht mehr aktuell und kennt einige Geraete nicht. Habe gerade openHAB beim Testen, was auch nicht problemlos funktioniert. HomeAssistant habe ich auch aufgegeben, da die nodered Integration auch veraltet ist.
@drMaxxi das hatte ich noch nicht. Was wĂ€re ein Beispiel fĂŒr ein nicht unterstĂŒtztes GerĂ€t?
Ich weiss es leider nicht mehr. Es war aber der Grund warum ich begonnen habe die Alternativen zu testen. Leider habe ich bisher keine zuverlĂ€ssige gefunden. Kennt von euch jemand eine Lösung, welche idealerweise nicht von nur einer oder wenigen Personen (dies ist keine Kritik, sondern ich möchte nicht noch mal alles umprogrammieren muessen wenn es gleich wie mit redmatic geht) zur VerfĂŒgung gestellt wird?
Not for the faint of the heart, but i built a release for the prerelease: https://github.com/Tscherno/RedMatic-1/releases @Tscherno How to install/update it?
Hi, is there a way to upgrade to node-red 2.x? Now I have the first nodes that are not working anymore. node-red-contrib-simpletime@2.10.3 node-red-contrib-telegrambot@11.2.3 Thank you
Edit: Thx Tscherno for the hint We tried to build of the new version (Node-red v2.2) and it worked - only Node-RED process control in Raspberrymatic is showing the wrong state Thx - hope there will be a official upgrade in the next days