homee-FT55-dimmen2

Mit diesem Flow kannst du den FT55 Taster zum dimmen eines Fibaro UP Dimmer nehmen ( oder ähnlichen ). In dieser Variante benutze ich die Möglichkeit des Mehrfachklick's. Durch das 1 fache drücken wird der Dimmer an bzw. ausgeschaltet ( je nach Zustand ). Durch einen 2 fach Druck mit anschließendem halten wird der Dimmer hoch gedimmt und mit dem 3 fach Druck wird runter gedimmt. Als Zusatz gibt es noch 4 fach Druck , hier wird dann auf 100% gedimmt ( sofort ) Durch das Zählen der Klicks gibt es eine Verzögerung, die jeder für sich definieren kann.

[{"id":"8abb1c1.07f7de","type":"function","z":"c8fce8a4.e63828","name":"Dimmer","func":"var count1 = msg.payload;\nvar AIDD = 19; // AttributID Dimmer ( Dimmer )\nvar NIDL = 7; // Node ID Dimmer\nvar count = context.get('count')||0;\nglobal.set ('dimmcounter',count);\nif( count > 100){count = 98}\nif(count < 4){count=4} \ncount += count1;\ncontext.set('count',count);\nvar Dimmer = global.get('Dimmer');\nif (msg.payload && Dimmer === 1 || 2 && count>2 && count <100) \n{ return {payload: \"PUT:/nodes/\"+NIDL+\"/attributes/\"+AIDD+\"/?target_value=\"+ JSON.stringify(count)}}\n","outputs":1,"noerr":0,"x":1000,"y":720,"wires":[["e480f322.cae77"]]},{"id":"ba9f6ef4.c47fd","type":"function","z":"c8fce8a4.e63828","name":"Status Taster und Dimmer abrufen","func":"const attributes = global.get('homee.attributes');\nvar StatusTaster =attributes.find(attribute => attribute.id === 111);\n\n//var StatusTaster = global.get('StatusTaster');\nvar Dimmer = global.get('Dimmer');\nif (StatusTaster.current_value === 0 && Dimmer === 1)\n{return {payload: -4}} // die -2 ist der Wert um wieviel runtergedimmt wird\nif (StatusTaster.current_value === 0 && Dimmer === 2)\n{return {payload: 4}} // die 2 ist der Wert um wieviel hochgedimmt wird\n","outputs":1,"noerr":0,"x":780,"y":720,"wires":[["8abb1c1.07f7de","9c3bbebc.d2cdc"]]},{"id":"9c3bbebc.d2cdc","type":"delay","z":"c8fce8a4.e63828","name":"Dimmgeschwindigkeit","pauseType":"delayv","timeout":"400","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"milliseconds","drop":false,"x":740,"y":760,"wires":[["ba9f6ef4.c47fd"]]},{"id":"1d7b4f82.4cf7a","type":"link in","z":"c8fce8a4.e63828","name":"","links":["5b42e7cf.3ff41"],"x":95,"y":720,"wires":[["b84eddcc.c45df"]]},{"id":"e480f322.cae77","type":"link out","z":"c8fce8a4.e63828","name":"","links":["b692a8d4.9e6378"],"x":1095,"y":720,"wires":[]},{"id":"e3c58e64.fe943","type":"join","z":"c8fce8a4.e63828","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"","joinerType":"str","accumulate":false,"timeout":"2","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":450,"y":720,"wires":[["bdb52ad6.cc37d8"]]},{"id":"bdb52ad6.cc37d8","type":"function","z":"c8fce8a4.e63828","name":"Zähler","func":"var eingang = msg.payload.length;\nif ( eingang === 2 ) {return {payload: 2 } }\nif ( eingang === 3 ) {return {payload: 1 } }\nif ( eingang === 4 ) {return {payload: 3 } }\nelse\nreturn{payload:0}","outputs":1,"noerr":0,"x":570,"y":720,"wires":[["ea226a50.9487a8","ba9f6ef4.c47fd"]]},{"id":"b84eddcc.c45df","type":"function","z":"c8fce8a4.e63828","name":"Umwandeln des Tastersignal ","func":"var AIDT = 111; // AttributID FT55 Taster\nif (msg.payload.attribute && msg.payload.attribute.id === AIDT && msg.payload.attribute.current_value === 0){\nreturn {payload: 1}}\n","outputs":1,"noerr":0,"x":260,"y":720,"wires":[["e3c58e64.fe943"]]},{"id":"ea226a50.9487a8","type":"function","z":"c8fce8a4.e63828","name":"Dimmer Status und Abschaltung ","func":"const attributes = global.get('homee.attributes');\nvar AIDL = 20; // AttributID Dimmer ( Schalter )\nvar NIDL = 7; // Node ID Dimmer\nvar AIDD = 19\nvar StatusLampe =attributes.find(attribute => attribute.id === AIDL); \nif (msg.payload === 1||2 ) {\nglobal.set('Dimmer',msg.payload)}\n\nif (StatusLampe.current_value === 1 && msg.payload === 0 ){return {payload:\"PUT:/nodes/\"+NIDL+\"/attributes/\"+AIDL+\"/?target_value=0\"}}\nif (StatusLampe.current_value === 0 && msg.payload === 0 ){return {payload:\"PUT:/nodes/\"+NIDL+\"/attributes/\"+AIDL+\"/?target_value=1\"}}\nif ( msg.payload === 3 ){return {payload:\"PUT:/nodes/\"+NIDL+\"/attributes/\"+AIDD+\"/?target_value=100\"}} ","outputs":1,"noerr":0,"x":770,"y":680,"wires":[["e480f322.cae77"]]}]

Flow Info

Created 5 years, 6 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • delay (x1)
  • function (x5)
  • join (x1)
  • link in (x1)
  • link out (x1)

Tags

  • homee
  • FT55
  • dimmen
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option