NEWS
Node Red fehler bei Umstieg auf Raspi4
-
@mickym ich habe es gesehen und gleich geändert und habe es getestet und es schaut so aus als es richtig läuft, werde es morgen nochmals testen, da ich etwas die Fam. beim Fernsehen schauen störe.
Mal recht herzlichen Dank für deine Geduld mit mir. Ich melde mich morgen nochmals wenn ich alles nochmal getestet habe. -
@oskar Na dann erst mal Herzlichen Glückwunsch
Ich hoffe Du hast einigermaßen verstanden, was wir gemacht haben.
Deshalb noch ein paar abschließende Bemerkungen von mir.
Für den eigentlichen Flow sind die beiden Debug-Nodes und die Inject-Node überflüssig. Die Debug Nodes - hast Du wohl gemerkt sind nützlich um die Nachrichten zu analysieren. Die Inject Node um manuell Nachrichten zu erzeugen und so einen Flow zu testen ohne dass man hierzu den eigentlichen Trigger benötigt.
Für den nächsten Rollladen musst Du also nur den Geräte Alexa Node (Rollladen Sued), die Change Node und den iobroker out Node zu kopieren. (das sind die 3 essentiellen Nodes)
Im Geräte Node änderst Du den Geräte Namen (z. Bsp. Rollladen Nord) und den Pfad zu dem entsprechenden Homematik Node im iobroker. Den Geräte Node verkabelst Du dann wieder mit dem Echo Hub. Der sollte wie gesagt nur 1 Mal vorkommen.
Siehe hierzu das Posting von @Jan1: https://forum.iobroker.net/topic/40881/node-red-fehler-bei-umstieg-auf-raspi4/117
oder auch von der Webseite:Die Debug Nodes schreiben Dir im Moment das Debug Fenster zu. Du kannst diese einfach durch Drücken auf die grüne Schaltfläche aktivieren und deaktivieren, um im Fehlerfall zu sehen, was wo rauskommt.
Ansonsten gibts glaub nicht mehr viel zu tun von meiner Seite. Wenn Du Fragen hast, warum wir was gemacht haben, scheue Dich nicht zu fragen. Letztlich solltest Du Dir ja auch selbst helfen können, indem Du verstanden hast, wie NodeRed funktioniert.
Und noch was zum Schluß. Du kannst neben allen Backups Dir wichtige Flows über Export und der Zwischenablage einfach in einer Textdatei auf einem anderen Rechner sichern. Für wertvolle Flows ist das vielleicht ein Tipp.
-
@oskar sagte in Node Red fehler bei Umstieg auf Raspi4:
@mickym hallo, bei mir ist es gerade umgekehrt, bei Eingabe in das Feld bei 100 ist der RL offen und bei 0 geschlossen, mir wäre umgekehrt lieber aber wenn nicht ist es auch nicht schlimm
Noch eine Ergänzung - wenn Du möchtest, dass es sich umgekehrt verhält wissen wir ja nun wie wir das ändern können.
Du ziehst einfach die Prozent, die Du Alexa sagst von 100 ab. Sprich Du sagst stelle Rollladen auf 0% - dann sendest Du an den Homematic Datenpunkt halt 100-0%.Sicherheitshalber der Node zum Importieren (das weißt ja wie das inzwischen geht ==> s. https://forum.iobroker.net/topic/40881/node-red-fehler-bei-umstieg-auf-raspi4/77?_=1611348856632) :
[ { "id": "96045534.899a38", "type": "change", "z": "dce8fa20.2e93c8", "name": "Setze % des Rollladens", "rules": [ { "t": "set", "p": "percentage", "pt": "msg", "to": "100-percentage", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "percentage", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1510, "y": 1360, "wires": [ [ "a728adcc.fc024", "b358e580.cb52e8" ] ] } ]
-
@mickym
So, ich habe jetzt auch mal mit der Debug Node gespielt und ist ja einfach
Hier der Test und die Ausgaben der Nods und DPs bei den Befehlen "Alexa, Rollladen Bad auf 0" (Ausgangssituation war 100, also ganz offen):
auf 70:
auf 100:
Das ganze mit der Funktions Node und diser Funktion:
var newMsg = { payload: Math.round (msg.bri*100/254) } ; return newMsg;
Es gab ja den berechtigen Einwand, dass man durch 255 teilen müsste ich damit aber immer eins zu wenig gesteuert bekomme. Schau Dir das bitte mal an, vielleicht gibts ja ne vernünftige Erklärung. Das funktioniert so wie es ist, also das muss nichts geändert werden, ich will es nur besser verstehen
-
@mickym hallo, nochmals recht herzlichen Dank für deine Geduld und dein bemühen. Ich habe nun das genze für alle Rollläden eingegeben und nochmals alle getestet. Es geht bei allen wunder bar auf und zu nur an was ich mich gewöhnen muss, bei 50 % geht der Rollladen fast zu und 70 % ist etwa die hälfte.
Ich Drau es mich fast nicht zu sagen, aber ich habe einen Rollladen wo ich den Motor später eingebaut habe und dieser wird mit einem Shelly 2,5 gesteuert. dieser hat andere Datenpunkte, könntest Du mir da eventuell auch nochmals helfen? Wenn es zu viel für dich wird schreibe es ansonsten gleich mal danke im voraus, lg Oskar
-
@oskar
Die DPs sind egal, da der Shelly genau so die 0-100 braucht
Kannst also exakt nach der selben Vorgabe einbinden. Es ist übrigens normal, dass die Rollläden ohne Kalibrierung bei 50% auf die ca. 70er Position fahren, weil die Prozent sich auf die Zeit beziehen, die der Motor läuft und die entspricht durch Längung der Lamellen und veränderten Umfang beim auf und Abwickeln eben nie der Zeit.
Den Shelly kannst da kalibrieren, dann stimmt das, wenn Du das so möchtest. Ich habs nicht gemacht, weil mich die "Abweichung" nicht stört. -
@jan1 Ich würde an Deiner Stelle ja auch lieber percentage nehmen - da musst gar nichts rechnen. Warum nun doch 254 richtig ist, sieht man ja an Deiner letzten Node mit den 100%. Da ist percentage = 100 und bri=254. Vielleicht liegt es an der Saturation (254). Letztlich muss sich die Formel danach richten, welchen Wert sie bei 100% ausspukt. Also sind Deine 254 richtig.
Na ich hoffe jedenfalls, dass Du NodeRed - nun doch etwas wohlwollender betrachtest als zu Anfang dieses Threads.
Übrigens interessant ist auch dass Alexa selbst die payload="off" bei 0% setzt und bei allem anderen auf "on".
"on" ist eigentlich zur Steuerung nicht brauchbar - da man ja nicht weiß zu wieviel % der Rolladen offen ist. "off" ist aber praktisch um quasi abzufragen, ob der Rolladen offen ist. (bzw. geschlossen wenn man es umdreht).
-
@oskar Hast Du jetzt die Change NOde genommen, die ich Dir gestern abend noch gepostet habe - mit der Du die 0 und 100% umdrehen kannst?
Zu dem Shelly schreibe ich Dir gleich was. -
@jan1 Das ist eine Supererklärung von Dir wegen der Kalibrierung. Wie man das macht bzw. ob man die Homematic auch kalibrieren kann, da müssen die Spezialisten dran. Ich habe nur eine Wohnung ohne Rollläden.
@Oskar wie @Jan1 geschrieben hat, auch der Shelly braucht nur 0-100 als Input. Wo der Datenpunkt bei den Shelly-Adapter ist weiß ich nicht. Ich habe auch einige Shellies im Einsatz, aber steuere die nur über MQTT.
Bei MQTT heißt der Punkt:
shellies/shellyswitch25-<deviceid>/roller/0/command/pos accepts a number between 0 and 100, which is the target position in percent (siehe https://shelly-api-docs.shelly.cloud/#shelly2-5-mqtt)Unter den Shellies findest Du auch wie man das Kalibriert:
Position control
Shelly2.5 can be commanded to move the door (cover, sliding gate, etc.) to a relative position between fully open and completely closed. For this feature to work the device needs to perform a calibration procedure, measuring the time it takes for closing and opening. See /roller/{index}/calibrateDa ist auch nochmal die Erklärung, warum die Position nur über die Zeit gemessen werden kann.
-
@mickym
Das mit percentage war ja mein Gedanke, dass man das so irgendwie über ne "normale" Node ohne Funktion erledigen kann, ist mangels Verständnis leider nix geworden.
Jetzt wo Du es hier dargestellt hast, ist es mal wieder sau einfach. Ist eben wie ich oben schon geschrieben hatte für mich auf den ersten Blick nicht zu erkennen, was ich wo machen kann oder muss und das fällt mir bei Blockly eben wesentlich leichter. Bin aber immer offen für neues Wissen. -
@jan1 Einfach wurde es erst dadurch, dass man mit der Debug Node sieht, was diese Alexa Nodes ausspuken. Und das war mir wichtig - alles andere war Stochern im Nebel. Das hat aber nichts mit NodeRed oder Blockly zu tun. Ich erinnere Dich an unseren kleinen Chat.
-
@mickym
Ja klar, nur wenn man dann schon nicht viel Plan hat, was die Mist HUE Emulation da überhaupt so macht (trotz Debug), wird man davon aber auch nicht wirklich schlauer. Da bist Du als ITler etwas besser gestellt, ich bin der für die HW -
@oskar sagte in Node Red fehler bei Umstieg auf Raspi4:
@mickym hallo, nochmals recht herzlichen Dank für deine Geduld und dein bemühen. Ich habe nun das genze für alle Rollläden eingegeben und nochmals alle getestet. Es geht bei allen wunder bar auf und zu nur an was ich mich gewöhnen muss, bei 50 % geht der Rollladen fast zu und 70 % ist etwa die hälfte.
Ich Drau es mich fast nicht zu sagen, aber ich habe einen Rollladen wo ich den Motor später eingebaut habe und dieser wird mit einem Shelly 2,5 gesteuert. dieser hat andere Datenpunkte, könntest Du mir da eventuell auch nochmals helfen? Wenn es zu viel für dich wird schreibe es ansonsten gleich mal danke im voraus, lg Oskar
Also nochmal wichtig ist, ob Du nun die von mir geänderte Version des Change Node nützt. Eine Idee - wenn man nicht kalibrieren kann, wäre noch zwischen Position 10 und 100 eine Exponentialfunktion zu bauen.
So ab 10% könnte man sowas machen:
Wenn Du dann Alexa sagen würdest fahre auf 50% dann würde an den Datenpunkt 10^1,5 ~ 32% rauskommen, bei Alexa gleich 70% würden 10^1,7 ~ 51%, bei 90% würden 10^1,9 ~ 80% und bei 100% natürlich 10^2 ~ 100% rauskommen.
Die ersten 10% bleiben unverändert, also linear, ab 10% steigt das erst sehr langsam und dann schnell - also exponentiell. Wie gesagt, damit würde man ggf. das Verhalten Deiner Rollläden bzgl. der Prozentangaben etwas an die Realität anpassen, aber eben ohne Kalibrierung. Ich glaube aber auch nicht, dass Du mit bloßem Auge erkennst, ob der Rolladen nun zu 53% oder zu 55% geöffnet ist.
Ich habe das Ganze mal für Dich in einem Subflow implementiert, sodass Du damit einfach den ChangeNode ersetzen kannst. Ist allerdings wieder mit 100% offen 0%"zu - aber das kann ich bzw. Du bei Bedarf auch schnell anpassen. Ich erklär Dir dann wie.
Das Ganze mit Inject Nodes zum Ausprobieren siehe hier:
Wenn Du diesen Flow importierst - dann kannst Du das hiermit ausprobieren. Gleichzeitig hast Du dann aber in Deiner Liste der Nodes eine neue Node:
Die kannst Du dann einfach rausziehen und damit Deine bisherigen Change Nodes ersetzen:
Fast vergessen - hier der Flow zum importieren - erhält auch die Subflow Node:
[ { "id": "64ea43fa.6f641c", "type": "subflow", "name": "Alexa % Angaben korrigieren", "info": "", "category": "", "in": [ { "x": 80, "y": 100, "wires": [ { "id": "9b4c5eb8.b644b" } ] } ], "out": [ { "x": 580, "y": 100, "wires": [ { "id": "90f828e6.141ac8", "port": 0 }, { "id": "5a3978cd.2cd6b8", "port": 0 } ] } ], "env": [], "color": "#FDF0C2", "icon": "node-red/cog.svg" }, { "id": "9b4c5eb8.b644b", "type": "switch", "z": "64ea43fa.6f641c", "name": "", "property": "percent", "propertyType": "msg", "rules": [ { "t": "lte", "v": "10", "vt": "num" }, { "t": "gt", "v": "10", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 200, "y": 100, "wires": [ [ "90f828e6.141ac8" ], [ "5a3978cd.2cd6b8" ] ] }, { "id": "90f828e6.141ac8", "type": "change", "z": "64ea43fa.6f641c", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "percent", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 410, "y": 80, "wires": [ [] ] }, { "id": "5a3978cd.2cd6b8", "type": "change", "z": "64ea43fa.6f641c", "name": "", "rules": [ { "t": "set", "p": "percent", "pt": "msg", "to": "$round($power(10, (percent/100)+1)\t)\t", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "percent", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 400, "y": 120, "wires": [ [] ] }, { "id": "a837cc78.c5634", "type": "inject", "z": "dce8fa20.2e93c8", "name": "30%", "props": [ { "p": "percent", "v": "30", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 1410, "y": 2320, "wires": [ [ "99d5290e.47bf68" ] ] }, { "id": "7468a7eb.739168", "type": "inject", "z": "dce8fa20.2e93c8", "name": "50%", "props": [ { "p": "percent", "v": "50", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 1410, "y": 2360, "wires": [ [ "99d5290e.47bf68" ] ] }, { "id": "3adc5b22.e041b4", "type": "inject", "z": "dce8fa20.2e93c8", "name": "70%", "props": [ { "p": "percent", "v": "70", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 1410, "y": 2400, "wires": [ [ "99d5290e.47bf68" ] ] }, { "id": "b7a505f2.6c17c8", "type": "inject", "z": "dce8fa20.2e93c8", "name": "90%", "props": [ { "p": "percent", "v": "90", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 1410, "y": 2440, "wires": [ [ "99d5290e.47bf68" ] ] }, { "id": "6b72b9cc.abd058", "type": "inject", "z": "dce8fa20.2e93c8", "name": "10%", "props": [ { "p": "percent", "v": "10", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 1410, "y": 2280, "wires": [ [ "99d5290e.47bf68" ] ] }, { "id": "761f6956.1b56c8", "type": "inject", "z": "dce8fa20.2e93c8", "name": "0%", "props": [ { "p": "percent", "v": "0", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 1410, "y": 2240, "wires": [ [ "99d5290e.47bf68" ] ] }, { "id": "de6d315e.901ed", "type": "debug", "z": "dce8fa20.2e93c8", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 2030, "y": 2340, "wires": [] }, { "id": "99d5290e.47bf68", "type": "subflow:64ea43fa.6f641c", "z": "dce8fa20.2e93c8", "name": "", "env": [], "x": 1780, "y": 2340, "wires": [ [ "de6d315e.901ed" ] ] }, { "id": "262e02ae.ff94ae", "type": "inject", "z": "dce8fa20.2e93c8", "name": "100%", "props": [ { "p": "percent", "v": "100", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 1410, "y": 2480, "wires": [ [ "99d5290e.47bf68" ] ] } ]
Wie gesagt - können wir das Ganze auch umdrehen, indem man das Ergebnis von 100 abzieht. In jedem Fall ist von 10-50% die %tuale Steigerung viel kleiner und wird dann aufgeholt. Also vielleicht gleicht das ohne Kalibrierung das Phänomen, das von @Jan1 erklärt wurde etwas aus.
@jan1 sagte in Node Red fehler bei Umstieg auf Raspi4:
... Es ist übrigens normal, dass die Rollläden ohne Kalibrierung bei 50% auf die ca. 70er Position fahren, weil die Prozent sich auf die Zeit beziehen, die der Motor läuft und die entspricht durch Längung der Lamellen und veränderten Umfang beim auf und Abwickeln eben nie der Zeit.
.... -
@mickym
Ich muss noch mal zu rechts/links Schwäche zurück.
Frauchen kam vorhin und meinte sie hat das Auto kaputt gemacht. Auf der linken Seite ist sie an nem Poller hängen geblieben. Also gleich mal nach schauen und zur Überraschung, alles ok. Aber die rechte Seite ist voll am Arsch -
@jan1 sagte in Node Red fehler bei Umstieg auf Raspi4:
@mickym
Ich muss noch mal zu rechts/links Schwäche zurück.
Frauchen kam vorhin und meinte sie hat das Auto kaputt gemacht. Auf der linken Seite ist sie an nem Poller hängen geblieben. Also gleich mal nach schauen und zur Überraschung, alles ok. Aber die rechte Seite ist voll am ArschMann, dass ist natürlich sehr ärgerlich.
Aber zum Glück ist ihr ja mal nichts passiert. Und trotz links/rechts Schwäche - es bleibt wahrscheinlich gleich teuer - auch wenn das nur ein schwacher Trost ist.
-
@mickym
Lustigerweise wollte ich letzte Woche die Vollkasko für den A1 streichen und habs vergessen, somit alles halb so wild. Schaden dürfte so um die 5t € sein. Tür vorne unten verbogen und der Schweller ist von vorne bis hinten schön tief eingedrückt. Schrittgeschwindigkeit aufm Parkplatz, hat sie gemeint
Ich bin letztes Jahr einem mit Schrittgeschwindigkeit einem hinten drauf gerutscht, da waren 3 Kurstoff Lamellen am A6 Kühlergrill gebrochen. -
@jan1 Na manchmal hat Vergesslichkeit auch was Gutes.
- Aber ärgerlich bleibt es. Zumindest gibt es keinen Unfallgegner mit dem man sich streiten muss - um vielleicht noch was Positives zu finden.
-
@mickym
Er hat immerhin einiges gelernt und ich werde wohl bei mir auch umbauen. Hab vorhin mal mein die Jahre gewachsens Heizungsscript umgebaut und schau jetzt erst mal Bundesliga zum Entspannung.Was ich bei Oskar nicht ganz verstanden habe, ist das ursprüngliche Problem, denn das was er da schreibt kann nicht sein und vom Rollladen war zu Beginn auch keine Rede.
Was solls, er hat Hilfe bekommen und seine Alexa Steuerung läuft ja nun wie gewünscht. -
@jan1 Hallo, wie ich am Anfang geschrieben habe sind durch die Umstellung meine NodeRed Befehle nicht mehr gegangen und nur dies war mein Anliegen deshalb kann ich dies was du da schreibst nicht ganz verstehen "was er da schreibt kann nicht sein" Ich wäre froh gewesen wenn alles wie vorher gegangen wäre. lg
-
@jan1
""wie @Jan1 geschrieben hat, auch der Shelly braucht nur 0-100 als Input. Wo der Datenpunkt bei den Shelly-Adapter ist weiß ich nicht. Ich habe auch einige Shellies im Einsatz, aber steuere die nur über MQTT""
hallo jan1, ist es für ioBroker einfacher die Steuerung des Shelly über MQTT dann stelle ich den Shelly um. Gesteuert wird der Shelly über seinen Sonoff Schalter, mußte ich so machen damit ich keine Kabel ziehen muß. Leider hat dies auch nie richtig geklappt. lg