NEWS
Node Red fehler bei Umstieg auf Raspi4
-
@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 -
@oskar
Wir geschrieben, die Node die Du für Alexa verwendet hast, hat vor fast einem Jahr ihre Funktion verloren, was der Grund war, dass alle auf die HUE Amazon Hub Node gewechselt hatten. Habs ja auch geschrieben, dass es möglich sein kann, dass das jemand gefixt hat. Allerdings hab ich davon noch nirgends was gelesen. Ist aber jetzt auch nicht so tragisch. Jetzt funktioniert das ja.Die Steuerung von Sonoff zum Shelly kann man schon über MQTT machen, wobei dazu eben noch ein MQTT Server nötig ist. Einfacher wird das über interne Rules. Hab da gerade was gelesen, dass das sogar mit der original FW des Shelly funktioniert. Der Sonoff braucht dazu aber Tasmota.
Muss mal suchen, wo ich das gelesen hatte. -
@mickym
hallo, wie ihr schon festgestellt habt, bin ich ein Leihe was IoBroker und alles damit zusammenhängt.
Dies mit deinem Schaden tut mir leid.Hast Du jetzt die hange Node genommen, die ich Dir gestern abend noch gepostet habe - mit der Du die 0 und 100% umdrehen kannst?
Dazu bin ich leider noch nicht gekommen, aber ich werde es ausprobieren, lg -
@oskar
Habs gefundene. Die Rule muss lediglich an die IP Deines Shelly angepasst werden. Stand im CreationX Forum.Rule1 1 Rule1 on Power1#State=1 do WebSend[192.168.178.26]/relay/0?turn=on endon on Power1#State=0 do WebSend[192.168.178.26]/relay/0?turn=off endon oder kürzer: Rule1 on Power1#State do WebSend[192.168.178.26]/relay/0?turn=toggle endon