Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Stephan Gfrerer

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 6
    • Best 0
    • Groups 1

    Stephan Gfrerer

    @Stephan Gfrerer

    Starter

    0
    Reputation
    11
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Stephan Gfrerer Follow
    Starter

    Latest posts made by Stephan Gfrerer

    • Solar Differenz Regler 2 x DS18B2 und Relai

      Guten tag,
      ich bin seit zwei Wochen drauf und dran mir einen Solardifferenzregler im Node zu erstellen.
      Leider sind meine Programmierfähigkeiten auf Anfänger Niveau. Bücher habe ich schon zwei zu NodeRed gelesen.
      Tagelanges sichten der diversen Youtube videos haben mir auch nicht den gewünschten Erfolg gebracht.
      Meine bisherige Steuerung wurde von verschiedenen flows kopiert, wie Wetterstationen, Bier brauen, Gewächshauslüftung, Gartenspränkler... etc. Ich würde einen neuen Input benötigen wo ich mich noch schlau machen kann...

      Zum Projekt:
      Zwei DS18B20 Senoren (einer auf der Solaranlage Poolwasser und einer in der Rohrleitung Becken)
      Ein 8er Relais wobei 2 Relais für einen Linear Antrieb 12v benutzt werden. (Öffnen/schließen)

      Dieses Programm sollte so aufgebaut sein wie der Solarregler DIGISOL.
      Wichtigste Punkte die diese Steuerung machen sollte
      AUS, AN, AUTO
      Maximal Temperatur frei einstellbar (Beckenwassersensor max. erreicht nicht mehr Solar einschalten)
      Die Differenztemperatur frei einstellbar (zb. ab 2° unterschied Relai 1 schalten)
      Eine Zeituhr in dem Die Solar schalten darf. zbsp. 08:00 - 20:00

      Was ich bis dato alles kann bzw. hinbekommen habe ist.
      beide ds18b20 ins node red einbinden, gpio kann ich schlaten, timer kenne ich mich auch etwas aus.
      eine funktion habe ich geschaft um die differenztemperatur zu berechnen.

      ev. kann mir bitte wer weiterhelfen..
      flow 1 und aqurium sind nur test flows wo ich mir ideen versucht hab zu holen.
      flow heizung ist der was im aufbau ist.

      [{"id":"2c621b0b.d97304","type":"tab","label":"Pumpe","disabled":false,"info":""},{"id":"62a09f79.6867e","type":"tab","label":"Beleuchtung","disabled":false,"info":""},{"id":"dfaed3d8.c987a","type":"tab","label":"Heizung","disabled":false,"info":""},{"id":"7700df58.37c11","type":"tab","label":"Messwerte","disabled":false,"info":""},{"id":"7e7795cf.14144c","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"76f27d2e.4e9e34","type":"tab","label":"Relays Aquarium","disabled":false,"info":""},{"id":"ad5da56e.d1fea8","type":"subflow","name":"Gate valve","info":"Gate valve operates in one of two states: _pass_- or _blocking_. \nIn _pass_ state every input message is passed unmodified, \nin _blocking_ state incoming messages are not passed thru.\n\n\n### Input\n\nstate is set via control messages. control messages are input messages \nwith payloads of either \n`{\"pass\": true}` or `{\"pass\": false}`. \ncontrol messages are never passed thru.\n\n\n### Output\n\nmessages are passed unmodified or not at all, depending on state.\n","category":"","in":[{"x":60,"y":40,"wires":[{"id":"7a9249a2.36ce68"}]}],"out":[{"x":800,"y":280,"wires":[{"id":"4d8b7e22.8f215","port":1}]}],"env":[],"color":"#DDAA99"},{"id":"3f8b3573.bd342a","type":"ui_tab","z":"","name":"Pool Control","icon":"dashboard","disabled":false,"hidden":false},{"id":"ad7103a2.80ca8","type":"ui_group","z":"","name":"Filterpumpe","tab":"3f8b3573.bd342a","order":1,"disp":true,"width":"6","collapse":false},{"id":"1a01a1fe.8825ae","type":"ui_base","theme":{"name":"theme-light","lightTheme":{"default":"#0094CE","baseColor":"#0094CE","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":true,"reset":false},"darkTheme":{"default":"#097479","baseColor":"#097479","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":false},"customTheme":{"name":"Untitled Theme 1","default":"#4B7930","baseColor":"#4B7930","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"},"themeState":{"base-color":{"default":"#0094CE","value":"#0094CE","edited":false},"page-titlebar-backgroundColor":{"value":"#0094CE","edited":false},"page-backgroundColor":{"value":"#fafafa","edited":false},"page-sidebar-backgroundColor":{"value":"#ffffff","edited":false},"group-textColor":{"value":"#1bbfff","edited":false},"group-borderColor":{"value":"#ffffff","edited":false},"group-backgroundColor":{"value":"#ffffff","edited":false},"widget-textColor":{"value":"#111111","edited":false},"widget-backgroundColor":{"value":"#0094ce","edited":false},"widget-borderColor":{"value":"#ffffff","edited":false},"base-font":{"value":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"}},"angularTheme":{"primary":"indigo","accents":"blue","warn":"red","background":"grey"}},"site":{"name":"Node-RED Dashboard","hideToolbar":"false","allowSwipe":"false","lockMenu":"false","allowTempTheme":"true","dateFormat":"DD/MM/YYYY","sizes":{"sx":48,"sy":48,"gx":6,"gy":6,"cx":6,"cy":6,"px":0,"py":0}}},{"id":"a571384c.73e478","type":"ui_group","z":"","name":"Beleuchtung","tab":"3f8b3573.bd342a","order":2,"disp":true,"width":"6","collapse":false},{"id":"80ca4b42.6ef988","type":"ui_group","z":"","name":"Wasserwerte","tab":"3f8b3573.bd342a","order":3,"disp":true,"width":"6","collapse":false},{"id":"31538430.25a14c","type":"ui_group","z":"","name":"Solar","tab":"3f8b3573.bd342a","order":4,"disp":true,"width":"6","collapse":false},{"id":"963f0f3.baf95f","type":"ui_group","z":"","name":"Control","tab":"b012ef9f.56a82","order":1,"disp":true,"width":"6","collapse":false},{"id":"b012ef9f.56a82","type":"ui_tab","z":"","name":"Aquarium","icon":"dashboard","order":3},{"id":"33b53139.13e6ce","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"195dab11.6331a5","type":"mqtt-broker","z":"7e7795cf.14144c","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"c469668.bf5d998","type":"rpi-gpio out","z":"2c621b0b.d97304","name":"","pin":"29","set":"","level":"0","freq":"","out":"out","x":840,"y":40,"wires":[]},{"id":"510a6697.637478","type":"rpi-gpio out","z":"2c621b0b.d97304","name":"","pin":"31","set":"","level":"0","freq":"","out":"out","x":840,"y":100,"wires":[]},{"id":"7a94ab01.1a2464","type":"rpi-gpio out","z":"2c621b0b.d97304","name":"","pin":"33","set":"","level":"0","freq":"","out":"out","x":840,"y":160,"wires":[]},{"id":"ba9dbf22.4c31","type":"rpi-gpio out","z":"2c621b0b.d97304","name":"","pin":"35","set":"","level":"0","freq":"","out":"out","x":840,"y":220,"wires":[]},{"id":"9150097a.9cd588","type":"ui_button","z":"2c621b0b.d97304","name":"","group":"ad7103a2.80ca8","order":3,"width":0,"height":0,"passthru":false,"label":"MEDIUM","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":320,"y":100,"wires":[["70f2963b.3a9af8"]]},{"id":"6f07c6f5.e51738","type":"ui_button","z":"2c621b0b.d97304","name":"","group":"ad7103a2.80ca8","order":4,"width":0,"height":0,"passthru":false,"label":"FAST","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":310,"y":160,"wires":[["975fdcf5.e76a"]]},{"id":"85b3faf8.42e098","type":"ui_button","z":"2c621b0b.d97304","name":"","group":"ad7103a2.80ca8","order":5,"width":0,"height":0,"passthru":false,"label":"STOP","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":310,"y":220,"wires":[["3bd22fb9.c25ad"]]},{"id":"70f2963b.3a9af8","type":"trigger","z":"2c621b0b.d97304","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"500","extend":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":540,"y":100,"wires":[["510a6697.637478"]]},{"id":"975fdcf5.e76a","type":"trigger","z":"2c621b0b.d97304","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"500","extend":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":540,"y":160,"wires":[["7a94ab01.1a2464"]]},{"id":"3bd22fb9.c25ad","type":"trigger","z":"2c621b0b.d97304","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"500","extend":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":540,"y":220,"wires":[["ba9dbf22.4c31"]]},{"id":"ea4b5191.df93d","type":"ui_button","z":"2c621b0b.d97304","name":"","group":"ad7103a2.80ca8","order":2,"width":0,"height":0,"passthru":false,"label":"LOW","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":310,"y":40,"wires":[["61fb2d42.0cec24"]]},{"id":"61fb2d42.0cec24","type":"trigger","z":"2c621b0b.d97304","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"500","extend":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":540,"y":40,"wires":[["c469668.bf5d998"]]},{"id":"4a1961a3.beccf","type":"rpi-gpio out","z":"62a09f79.6867e","name":"","pin":"37","set":"","level":"0","freq":"","out":"out","x":280,"y":40,"wires":[]},{"id":"629abb99.8939b4","type":"rpi-gpio out","z":"62a09f79.6867e","name":"","pin":"36","set":"","level":"0","freq":"","out":"out","x":280,"y":100,"wires":[]},{"id":"7ff358af.613a38","type":"ui_switch","z":"62a09f79.6867e","name":"","label":"Licht Pool","tooltip":"","group":"a571384c.73e478","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"1","onvalueType":"str","onicon":"","oncolor":"","offvalue":"0","offvalueType":"str","officon":"","offcolor":"","x":100,"y":40,"wires":[["4a1961a3.beccf"]]},{"id":"ca410144.3b0a","type":"ui_switch","z":"62a09f79.6867e","name":"","label":"Licht Garten","tooltip":"","group":"a571384c.73e478","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"1","onvalueType":"str","onicon":"","oncolor":"","offvalue":"0","offvalueType":"str","officon":"","offcolor":"","x":110,"y":100,"wires":[["629abb99.8939b4"]]},{"id":"3b9bb82f.cc6618","type":"file in","z":"7700df58.37c11","name":"","filename":"test.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":1380,"y":160,"wires":[["8fded49b.d4d948"]]},{"id":"889d9cfe.34325","type":"exec","z":"7700df58.37c11","command":"wget --no-check-certificate 'https://docs.google.com/spreadsheets/d/1j6_GGtDE19mc9383Fr85-qhM239mscIxkDflRTrUyqM/export?format=csv' -O test.csv","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":740,"y":160,"wires":[["3b9bb82f.cc6618"],[],[]]},{"id":"fb1adc95.e7402","type":"debug","z":"7700df58.37c11","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":2030,"y":160,"wires":[]},{"id":"8fded49b.d4d948","type":"csv","z":"7700df58.37c11","name":"","sep":",","hdrin":"","hdrout":false,"multi":"mult","ret":"\\n","temp":"","skip":"0","strings":false,"x":1550,"y":160,"wires":[["3d378a94.aa3a26"]]},{"id":"3d378a94.aa3a26","type":"function","z":"7700df58.37c11","name":"LastElement","func":"msg.payload = msg.payload.pop();\nreturn msg;","outputs":1,"noerr":0,"x":1710,"y":160,"wires":[["acf60e3c.911c8"]]},{"id":"acf60e3c.911c8","type":"change","z":"7700df58.37c11","name":"get3rd","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.col3","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1870,"y":160,"wires":[["fb1adc95.e7402","6d8d854b.c29e8c"]]},{"id":"8d2f50ce.b4a2","type":"file in","z":"7700df58.37c11","name":"","filename":"test.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":1380,"y":260,"wires":[["c5095242.abef1"]]},{"id":"7343f423.59ae1c","type":"exec","z":"7700df58.37c11","command":"wget --no-check-certificate 'https://docs.google.com/spreadsheets/d/1j6_GGtDE19mc9383Fr85-qhM239mscIxkDflRTrUyqM/export?format=csv' -O test.csv","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":740,"y":260,"wires":[["8d2f50ce.b4a2"],[],[]]},{"id":"ac5c592f.390f68","type":"debug","z":"7700df58.37c11","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":2030,"y":260,"wires":[]},{"id":"c5095242.abef1","type":"csv","z":"7700df58.37c11","name":"","sep":",","hdrin":"","hdrout":false,"multi":"mult","ret":"\\n","temp":"","skip":"0","strings":false,"x":1550,"y":260,"wires":[["b4f921bb.a3437"]]},{"id":"b4f921bb.a3437","type":"function","z":"7700df58.37c11","name":"LastElement","func":"msg.payload = msg.payload.pop();\nreturn msg;","outputs":1,"noerr":0,"x":1710,"y":260,"wires":[["45bc0669.52de78"]]},{"id":"45bc0669.52de78","type":"change","z":"7700df58.37c11","name":"get4rd","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.col4","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1870,"y":260,"wires":[["ac5c592f.390f68","505f0cf1.401d44"]]},{"id":"a393d4a6.0983a8","type":"file in","z":"7700df58.37c11","name":"","filename":"test.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":1380,"y":380,"wires":[["1efc2b5.224f4d5"]]},{"id":"55c6e168.7cba4","type":"exec","z":"7700df58.37c11","command":"wget --no-check-certificate 'https://docs.google.com/spreadsheets/d/1j6_GGtDE19mc9383Fr85-qhM239mscIxkDflRTrUyqM/export?format=csv' -O test.csv","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":740,"y":380,"wires":[["a393d4a6.0983a8"],[],[]]},{"id":"83e9e6eb.f56638","type":"inject","z":"7700df58.37c11","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":320,"wires":[["55c6e168.7cba4","889d9cfe.34325","7343f423.59ae1c","a0c66fa5.718da"]]},{"id":"d814161c.9ee128","type":"debug","z":"7700df58.37c11","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":2030,"y":380,"wires":[]},{"id":"1efc2b5.224f4d5","type":"csv","z":"7700df58.37c11","name":"","sep":",","hdrin":"","hdrout":false,"multi":"mult","ret":"\\n","temp":"","skip":"0","strings":false,"x":1550,"y":380,"wires":[["f0c9f052.73c61"]]},{"id":"f0c9f052.73c61","type":"function","z":"7700df58.37c11","name":"LastElement","func":"msg.payload = msg.payload.pop();\nreturn msg;","outputs":1,"noerr":0,"x":1710,"y":380,"wires":[["3c7df19b.7af9ae"]]},{"id":"3c7df19b.7af9ae","type":"change","z":"7700df58.37c11","name":"get5rd","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.col5","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1870,"y":380,"wires":[["d814161c.9ee128","9d02c791.c96568"]]},{"id":"4e328d05.bfa2a4","type":"file in","z":"7700df58.37c11","name":"","filename":"test.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":1380,"y":520,"wires":[["cdc08d4b.7827d"]]},{"id":"a0c66fa5.718da","type":"exec","z":"7700df58.37c11","command":"wget --no-check-certificate 'https://docs.google.com/spreadsheets/d/1j6_GGtDE19mc9383Fr85-qhM239mscIxkDflRTrUyqM/export?format=csv' -O test.csv","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":740,"y":520,"wires":[["4e328d05.bfa2a4"],[],[]]},{"id":"26b6fc1f.dc7084","type":"debug","z":"7700df58.37c11","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":2030,"y":520,"wires":[]},{"id":"cdc08d4b.7827d","type":"csv","z":"7700df58.37c11","name":"","sep":",","hdrin":"","hdrout":false,"multi":"mult","ret":"\\n","temp":"","skip":"0","strings":false,"x":1550,"y":520,"wires":[["2f5d8589.27a51a"]]},{"id":"2f5d8589.27a51a","type":"function","z":"7700df58.37c11","name":"LastElement","func":"msg.payload = msg.payload.pop();\nreturn msg;","outputs":1,"noerr":0,"x":1710,"y":520,"wires":[["6d35dc9.9575324"]]},{"id":"6d35dc9.9575324","type":"change","z":"7700df58.37c11","name":"get2rd","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.col2","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1870,"y":520,"wires":[["26b6fc1f.dc7084","a5a3c65a.dfee18"]]},{"id":"b552902b.d9127","type":"file in","z":"7700df58.37c11","name":"","filename":"test.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":1360,"y":660,"wires":[["2085d775.d67e08"]]},{"id":"d9df71e7.bf588","type":"inject","z":"7700df58.37c11","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":660,"wires":[["5e3fab73.984e04"]]},{"id":"43216a0c.3b8da4","type":"debug","z":"7700df58.37c11","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1930,"y":660,"wires":[]},{"id":"2085d775.d67e08","type":"csv","z":"7700df58.37c11","name":"","sep":",","hdrin":"","hdrout":false,"multi":"mult","ret":"\\n","temp":"","skip":"0","strings":false,"x":1510,"y":660,"wires":[["83276c36.305e5"]]},{"id":"5e3fab73.984e04","type":"exec","z":"7700df58.37c11","command":"wget --no-check-certificate 'https://docs.google.com/spreadsheets/d/1j6_GGtDE19mc9383Fr85-qhM239mscIxkDflRTrUyqM/export?format=csv' -O test.csv","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":730,"y":660,"wires":[["b552902b.d9127"],[],[]]},{"id":"83276c36.305e5","type":"function","z":"7700df58.37c11","name":"LastElement","func":"msg.payload = msg.payload.pop();\nreturn msg;","outputs":1,"noerr":0,"x":1710,"y":660,"wires":[["43216a0c.3b8da4"]]},{"id":"6d8d854b.c29e8c","type":"ui_gauge","z":"7700df58.37c11","name":"","group":"80ca4b42.6ef988","order":2,"width":0,"height":0,"gtype":"gage","title":"Wassertemperatur","label":"C°","format":"{{value}}","min":0,"max":"40","colors":["#0033b3","#49e600","#ca3838"],"seg1":"20","seg2":"28","x":2050,"y":200,"wires":[]},{"id":"505f0cf1.401d44","type":"ui_gauge","z":"7700df58.37c11","name":"","group":"80ca4b42.6ef988","order":3,"width":0,"height":0,"gtype":"gage","title":"PH Wert","label":"pH","format":"{{value}}","min":"6","max":"8","colors":["#ca3838","#13e600","#ca3838"],"seg1":"6,9","seg2":"7,4","x":2020,"y":320,"wires":[]},{"id":"9d02c791.c96568","type":"ui_gauge","z":"7700df58.37c11","name":"","group":"80ca4b42.6ef988","order":4,"width":0,"height":0,"gtype":"gage","title":"Redox","label":"mV","format":"{{value}}","min":"600","max":"850","colors":["#c83838","#29db3b","#ca3838"],"seg1":"700","seg2":"810","x":2010,"y":440,"wires":[]},{"id":"a5a3c65a.dfee18","type":"ui_text","z":"7700df58.37c11","group":"80ca4b42.6ef988","order":1,"width":0,"height":0,"name":"","label":"Messung","format":"{{msg.payload}}","layout":"row-spread","x":2020,"y":580,"wires":[]},{"id":"9d6825d7.fe3208","type":"comment","z":"dfaed3d8.c987a","name":"Solar offen","info":"","x":880,"y":80,"wires":[]},{"id":"fa63b0df.4fc17","type":"comment","z":"dfaed3d8.c987a","name":"Solar zu","info":"","x":880,"y":140,"wires":[]},{"id":"7308d6bc.7c7c48","type":"ui_button","z":"dfaed3d8.c987a","name":"","group":"31538430.25a14c","order":2,"width":0,"height":0,"passthru":false,"label":"AUS","tooltip":"","color":"","bgcolor":"","icon":"","payload":"0","payloadType":"num","topic":"","x":150,"y":140,"wires":[["1fca4285.6e829d"]]},{"id":"71110f2.351d8f","type":"ui_button","z":"dfaed3d8.c987a","name":"","group":"31538430.25a14c","order":3,"width":0,"height":0,"passthru":false,"label":"AUTO","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":150,"y":200,"wires":[[]]},{"id":"47f6da68.965564","type":"ui_button","z":"dfaed3d8.c987a","name":"","group":"31538430.25a14c","order":1,"width":0,"height":0,"passthru":false,"label":"EIN","tooltip":"","color":"","bgcolor":"","icon":"","payload":"1","payloadType":"num","topic":"","x":150,"y":80,"wires":[["1fca4285.6e829d"]]},{"id":"1fca4285.6e829d","type":"debug","z":"dfaed3d8.c987a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":360,"y":40,"wires":[]},{"id":"25373.e61ebc8d2","type":"rpi-gpio out","z":"76f27d2e.4e9e34","name":"Outlet 1 (NO)","pin":"11","set":"","level":"0","freq":"","out":"out","x":490,"y":140,"wires":[]},{"id":"c73b9aee.8fc078","type":"ui_switch","z":"76f27d2e.4e9e34","name":"","label":"Lights","tooltip":"","group":"963f0f3.baf95f","order":0,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"false","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"true","offvalueType":"bool","officon":"","offcolor":"","x":210,"y":140,"wires":[["25373.e61ebc8d2"]]},{"id":"44fbb87.e7d3a48","type":"ui_switch","z":"76f27d2e.4e9e34","name":"","label":"Filter","tooltip":"","group":"963f0f3.baf95f","order":0,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":130,"y":200,"wires":[["18d983f8.1ae55c","871e7f79.0ae1"]]},{"id":"bdb4ecfd.c3a36","type":"ui_switch","z":"76f27d2e.4e9e34","name":"","label":"Heater","tooltip":"","group":"963f0f3.baf95f","order":0,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":890,"y":280,"wires":[["5ef4c1ce.c0a"]]},{"id":"5ef4c1ce.c0a","type":"rpi-gpio out","z":"76f27d2e.4e9e34","name":"Outlet 2 (NC) - Heater","pin":"13","set":"","level":"0","freq":"","out":"out","x":1140,"y":280,"wires":[]},{"id":"18d983f8.1ae55c","type":"rpi-gpio out","z":"76f27d2e.4e9e34","name":"Outlet 3 (NC) - Filter","pin":"15","set":"","level":"0","freq":"","out":"out","x":520,"y":200,"wires":[]},{"id":"59b3020d.eb833c","type":"inject","z":"76f27d2e.4e9e34","name":"ON (send False)","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 12 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":190,"y":20,"wires":[["c73b9aee.8fc078"]]},{"id":"ea98be2c.ad7c9","type":"inject","z":"76f27d2e.4e9e34","name":"OFF (send True)","repeat":"","crontab":"00 20 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":190,"y":80,"wires":[["c73b9aee.8fc078"]]},{"id":"871e7f79.0ae1","type":"switch","z":"76f27d2e.4e9e34","name":"Safety (off heater when off filter)","property":"payload","propertyType":"msg","rules":[{"t":"false"},{"t":"true"}],"checkall":"true","repair":false,"outputs":2,"x":170,"y":280,"wires":[["2377e09e.beb67"],["1f8b6f78.a5b9e1"]]},{"id":"2377e09e.beb67","type":"change","z":"76f27d2e.4e9e34","name":"Off heater and disable button","rules":[{"t":"set","p":"enabled","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":260,"wires":[["bdb4ecfd.c3a36"]]},{"id":"1f8b6f78.a5b9e1","type":"change","z":"76f27d2e.4e9e34","name":"Enable button","rules":[{"t":"set","p":"enabled","pt":"msg","to":"true","tot":"bool"},{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":320,"wires":[["bdb4ecfd.c3a36"]]},{"id":"21004a43.764d46","type":"ui_button","z":"2c621b0b.d97304","name":"","group":"ad7103a2.80ca8","order":0,"width":0,"height":0,"passthru":false,"label":"Shut down system","tooltip":"","color":"","bgcolor":"red","icon":"","payload":"Are you sure?","payloadType":"str","topic":"","x":170,"y":360,"wires":[["b63c48d.d1ec3b8"]]},{"id":"6c0d0051.310d5","type":"exec","z":"2c621b0b.d97304","command":"sudo shutdown -h now","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":730,"y":360,"wires":[[],[],[]]},{"id":"b63c48d.d1ec3b8","type":"ui_toast","z":"2c621b0b.d97304","position":"dialog","displayTime":"3","highlight":"","sendall":true,"outputs":1,"ok":"SHUT DOWN","cancel":"CANCEL","raw":false,"topic":"SHUT DOWN","name":"SHUT DOWN?","x":360,"y":360,"wires":[["317130ad.0e1e5"]]},{"id":"317130ad.0e1e5","type":"switch","z":"2c621b0b.d97304","name":"Confirm","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"SHUT DOWN","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":540,"y":360,"wires":[["6c0d0051.310d5"]]},{"id":"21ea7458.e1bc4c","type":"change","z":"dfaed3d8.c987a","name":"","rules":[{"t":"set","p":"var1","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":320,"wires":[["615e3859.975f48"]]},{"id":"6cc83449.10132c","type":"change","z":"dfaed3d8.c987a","name":"","rules":[{"t":"set","p":"var2","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":360,"wires":[["615e3859.975f48"]]},{"id":"615e3859.975f48","type":"change","z":"dfaed3d8.c987a","name":"sum","rules":[{"t":"set","p":"payload","pt":"msg","to":"$flowContext('var1')-$flowContext('var2')","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":910,"y":340,"wires":[["48e47df4.d99a44"]]},{"id":"29930e48.e07602","type":"sensor-ds18b20","z":"dfaed3d8.c987a","name":"Wasser","topic":"","sensorid":"28-01144fc85caa","timer":"60","repeat":false,"x":420,"y":320,"wires":[["21ea7458.e1bc4c","ae8cddce.52038","97774687.6c77e8"]]},{"id":"350636fc.6142ca","type":"sensor-ds18b20","z":"dfaed3d8.c987a","name":"Solar","topic":"","sensorid":"28-01144fdc6daa","timer":"1","repeat":false,"x":410,"y":360,"wires":[["6cc83449.10132c","b25e4595.839408","3e713c25.8244a4"]]},{"id":"87f32d37.44445","type":"inject","z":"dfaed3d8.c987a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"1800","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":190,"y":340,"wires":[["29930e48.e07602","350636fc.6142ca"]]},{"id":"48e47df4.d99a44","type":"function","z":"dfaed3d8.c987a","name":"","func":"msg.payload = msg.payload.toFixed(1).replace('.', ',');\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1080,"y":340,"wires":[["843b8a96.d54008","eea94cb2.91bef"]]},{"id":"843b8a96.d54008","type":"mqtt out","z":"dfaed3d8.c987a","name":"","topic":"/temp/differenz","qos":"","retain":"","broker":"33b53139.13e6ce","x":1280,"y":340,"wires":[]},{"id":"eea94cb2.91bef","type":"debug","z":"dfaed3d8.c987a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1270,"y":400,"wires":[]},{"id":"d58adc12.0d24d","type":"rpi-ds18b20","z":"7e7795cf.14144c","topic":"","array":false,"name":"","x":310,"y":120,"wires":[["7dcef48e.5d241c"]]},{"id":"7dcef48e.5d241c","type":"switch","z":"7e7795cf.14144c","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"AA5CC84F1401","vt":"str"},{"t":"eq","v":"AA6DDC4F1401","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":470,"y":120,"wires":[["5204ae24.d8633"],["c7b81c19.049ab"]]},{"id":"b610a43c.f3a088","type":"inject","z":"7e7795cf.14144c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":120,"wires":[["d58adc12.0d24d"]]},{"id":"c7b81c19.049ab","type":"function","z":"7e7795cf.14144c","name":"","func":"msg.payload = msg.payload.toFixed(1).replace('.', ',');\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":200,"wires":[["12cfc2c7.bbb43d","b7c5ff48.3083b"]]},{"id":"12cfc2c7.bbb43d","type":"mqtt out","z":"7e7795cf.14144c","name":"","topic":"/temp/wasser","qos":"","retain":"","broker":"33b53139.13e6ce","x":850,"y":200,"wires":[]},{"id":"52de7f10.00b85","type":"mqtt out","z":"7e7795cf.14144c","name":"","topic":"/temp/solar","qos":"","retain":"","broker":"33b53139.13e6ce","x":830,"y":60,"wires":[]},{"id":"5204ae24.d8633","type":"function","z":"7e7795cf.14144c","name":"","func":"msg.payload = msg.payload.toFixed(1).replace('.', ',');\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":60,"wires":[["52de7f10.00b85","b7c5ff48.3083b"]]},{"id":"b25e4595.839408","type":"debug","z":"dfaed3d8.c987a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":670,"y":420,"wires":[]},{"id":"ae8cddce.52038","type":"debug","z":"dfaed3d8.c987a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":670,"y":260,"wires":[]},{"id":"97774687.6c77e8","type":"mqtt out","z":"dfaed3d8.c987a","name":"","topic":"/temp/wasser","qos":"","retain":"","broker":"33b53139.13e6ce","x":690,"y":200,"wires":[]},{"id":"3e713c25.8244a4","type":"mqtt out","z":"dfaed3d8.c987a","name":"","topic":"/temp/solar","qos":"","retain":"","broker":"33b53139.13e6ce","x":690,"y":480,"wires":[]},{"id":"49c42669.e4a928","type":"ui_gauge","z":"dfaed3d8.c987a","name":"","group":"31538430.25a14c","order":5,"width":0,"height":0,"gtype":"gage","title":"Solar","label":"C°","format":"{{value}}","min":0,"max":"30","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1310,"y":40,"wires":[]},{"id":"c6cf765b.b65c08","type":"mqtt in","z":"dfaed3d8.c987a","name":"Solar","topic":"/temp/solar","qos":"2","datatype":"auto","broker":"33b53139.13e6ce","x":1050,"y":40,"wires":[["49c42669.e4a928"]]},{"id":"fd8f1f4f.f84e9","type":"ui_gauge","z":"dfaed3d8.c987a","name":"","group":"31538430.25a14c","order":4,"width":0,"height":0,"gtype":"gage","title":"Pool","label":"C°","format":"{{value}}","min":0,"max":"30","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1310,"y":100,"wires":[]},{"id":"7ee33f15.b898","type":"mqtt in","z":"dfaed3d8.c987a","name":"Wasser","topic":"/temp/wasser","qos":"2","datatype":"auto","broker":"33b53139.13e6ce","x":1050,"y":100,"wires":[["fd8f1f4f.f84e9"]]},{"id":"a218b169.14099","type":"switch","z":"dfaed3d8.c987a","name":"diff groeßer den 2","property":"payload","propertyType":"msg","rules":[{"t":"gt","v":"2","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":620,"wires":[["440822de.759c7c"],[]]},{"id":"d656ccb1.b70ab","type":"change","z":"dfaed3d8.c987a","name":"Change to 1","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":560,"wires":[[]]},{"id":"897a507.9d553b","type":"mqtt in","z":"dfaed3d8.c987a","name":"","topic":"/temp/differenz","qos":"2","datatype":"auto","broker":"33b53139.13e6ce","x":180,"y":640,"wires":[["a218b169.14099","848a5f86.f2037","c37c2ad4.a4d878"]]},{"id":"c562fa38.428348","type":"change","z":"dfaed3d8.c987a","name":"Change to 0","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":740,"wires":[[]]},{"id":"848a5f86.f2037","type":"debug","z":"dfaed3d8.c987a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":410,"y":580,"wires":[]},{"id":"63501beb.290c14","type":"rpi-gpio out","z":"dfaed3d8.c987a","name":"","pin":"29","set":"","level":"0","freq":"","out":"out","x":1160,"y":880,"wires":[]},{"id":"85edf3e0.f22fe","type":"rpi-gpio out","z":"dfaed3d8.c987a","name":"","pin":"35","set":"","level":"0","freq":"","out":"out","x":1160,"y":940,"wires":[]},{"id":"80ffa03b.2958a","type":"ui_button","z":"dfaed3d8.c987a","name":"","group":"ad7103a2.80ca8","order":5,"width":0,"height":0,"passthru":false,"label":"STOP","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":630,"y":940,"wires":[["dd77c8ab.7f4048"]]},{"id":"dd77c8ab.7f4048","type":"trigger","z":"dfaed3d8.c987a","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"500","extend":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":860,"y":940,"wires":[["85edf3e0.f22fe"]]},{"id":"cdc513f0.4d3a2","type":"ui_button","z":"dfaed3d8.c987a","name":"","group":"ad7103a2.80ca8","order":2,"width":0,"height":0,"passthru":false,"label":"LOW","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":630,"y":880,"wires":[["574a9e90.9950d"]]},{"id":"574a9e90.9950d","type":"trigger","z":"dfaed3d8.c987a","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"500","extend":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":860,"y":880,"wires":[["63501beb.290c14"]]},{"id":"cce1eaad.0f7318","type":"rpi-gpio out","z":"dfaed3d8.c987a","name":"","pin":"37","set":"","level":"0","freq":"","out":"out","x":820,"y":1020,"wires":[]},{"id":"fd7d52cd.af58c","type":"rpi-gpio out","z":"dfaed3d8.c987a","name":"","pin":"36","set":"","level":"0","freq":"","out":"out","x":820,"y":1080,"wires":[]},{"id":"9e1a6f5f.6f852","type":"ui_switch","z":"dfaed3d8.c987a","name":"","label":"Licht Pool","tooltip":"","group":"a571384c.73e478","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"1","onvalueType":"str","onicon":"","oncolor":"","offvalue":"0","offvalueType":"str","officon":"","offcolor":"","x":640,"y":1020,"wires":[["cce1eaad.0f7318"]]},{"id":"22566483.407a9c","type":"ui_switch","z":"dfaed3d8.c987a","name":"","label":"Licht Garten","tooltip":"","group":"a571384c.73e478","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"1","onvalueType":"str","onicon":"","oncolor":"","offvalue":"0","offvalueType":"str","officon":"","offcolor":"","x":650,"y":1080,"wires":[["fd7d52cd.af58c"]]},{"id":"2872d50.e81962c","type":"rpi-gpio in","z":"dfaed3d8.c987a","name":"STOP","pin":"35","intype":"tri","debounce":"25","read":false,"x":1490,"y":60,"wires":[[]]},{"id":"b1404405.a59698","type":"rpi-gpio in","z":"dfaed3d8.c987a","name":"Solar AN","pin":"37","intype":"tri","debounce":"25","read":false,"x":1500,"y":120,"wires":[[]]},{"id":"83e06260.cac56","type":"rpi-gpio in","z":"dfaed3d8.c987a","name":"Solar AUS","pin":"36","intype":"tri","debounce":"25","read":false,"x":1500,"y":180,"wires":[[]]},{"id":"ead54fb1.000bf","type":"rpi-gpio in","z":"dfaed3d8.c987a","name":"LOW","pin":"29","intype":"tri","debounce":"25","read":false,"x":1490,"y":240,"wires":[[]]},{"id":"ae24fc5.4d1cb","type":"rpi-gpio out","z":"dfaed3d8.c987a","name":"Solar AN","pin":"37","set":"","level":"0","freq":"","out":"out","x":1060,"y":620,"wires":[]},{"id":"440822de.759c7c","type":"trigger","z":"dfaed3d8.c987a","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"5","extend":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":870,"y":620,"wires":[["ae24fc5.4d1cb"]]},{"id":"10e2961b.5ea5ca","type":"trigger","z":"2c621b0b.d97304","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"-15","extend":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":490,"y":660,"wires":[[]]},{"id":"c89d8c29.1ce1e","type":"switch","z":"ad5da56e.d1fea8","name":"payload.pass exists?","property":"payload.pass","propertyType":"msg","rules":[{"t":"lt","v":"1","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":60,"wires":[["e7c1d2c5.c702d"],["4d8b7e22.8f215"]]},{"id":"4d8b7e22.8f215","type":"switch","z":"ad5da56e.d1fea8","name":"pass  false?","property":"pass","propertyType":"flow","rules":[{"t":"gt","v":"2","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":260,"wires":[[],[]]},{"id":"e7c1d2c5.c702d","type":"change","z":"ad5da56e.d1fea8","name":"","rules":[{"t":"set","p":"pass","pt":"flow","to":"payload.pass","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":20,"wires":[[]]},{"id":"7a9249a2.36ce68","type":"switch","z":"ad5da56e.d1fea8","name":"payload exists?","property":"payload","propertyType":"msg","rules":[{"t":"gt","v":"2","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":240,"y":80,"wires":[["c89d8c29.1ce1e"],["4d8b7e22.8f215"]]},{"id":"94afa97a.52bd08","type":"mqtt in","z":"7e7795cf.14144c","name":"","topic":"/temp/differenz","qos":"1","datatype":"auto","broker":"195dab11.6331a5","x":200,"y":260,"wires":[["b51ad0e.3c81c3"]]},{"id":"b51ad0e.3c81c3","type":"function","z":"7e7795cf.14144c","name":"Timeprop","func":"// A node that can be used to generate a time proportioned on/off signal\n// from a power requirement value in the range 0 to 1\n// So for example with a cycle time period (set below) of 10 minutes and\n// a power requirement of 0.2 the output will be on for 2 minutes in every\n// ten minutes.\n// In addition to passing in messages with the payload set to the current\n// power requirement (floating point 0.0 to 1.0), provide an input from a \n// repeating inject node with the topic set to 'tick' and the payload \n// containing the current timestamp.  The frequency of this will depend upon \n// the cycle time required. For a cycle time period of 10 minutes I use an inject\n// repeat of 5 seconds.\n\n// Set these three variables as required\nvar period = 10*60*1000;  // On/off cycle time period millisecs, 10 minutes\nvar deadTime = 15*1000;   // number of milliseconds the valve (or whatever) takes to actuate, 30 seconds\nvar invert = true;        // set true for active low output, so the output will go low\n                          // when the valve should actuate, this is the usual case on a\n                          // pi feeding a relay to drive the actuator\n\n// is this a tick message?\nif (msg.topic !== \"tick\") {\n    // no, so it should be a power value, save it and exit\n    var power = msg.payload;\n    context.set('power', msg.payload);\n    msg = null;\n} else {\n    // yes, payload is timestamp, calc current wave value between 0 and 1\n    var wave = (msg.payload % period)/period;     // fraction of way through cycle\n    var direction;\n    // determine direction of travel and convert to triangular wave\n    if (wave < 0.5) {\n        direction = 1;      // on the way up\n        wave = wave*2;\n    } else {\n        direction = -1;     // on the way down\n        wave = (1 - wave)*2;\n    }\n    var requestedPower = context.get('power') || 0;\n    // if a dead_time has been supplied for this o/p then adjust power accordingly\n    if (deadTime > 0  && requestedPower > 0.0  &&  requestedPower < 1.0) {\n        var dtop = deadTime/period;\n        power = (1.0-2.0*dtop)*requestedPower + dtop;\n    } else {\n        power = requestedPower;\n    }\n    //  cope with end cases in case values outside 0..1\n    var opState;\n    if (power <= 0.0) {\n        opState = 0;     // no heat\n    } else if (power >= 1.0) {\n        opState = 1;     // full heat\n    } else {\n        // only allow power to come on on the way down and off on the way up, to reduce short pulses\n        if (power >= wave  &&  direction === -1) {\n            opState = 1;\n        } else if (power <= wave  &&  direction === 1) {\n            opState = 0;\n        } else {\n            // otherwise leave it as it is\n            opState = context.get('opState') || 0;\n        }      \n    }\n    context.set('opState', opState);\n    msg.payload = invert  ?  (1-opState)  :  opState;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":520,"y":340,"wires":[["893125a3.851dc8"]]},{"id":"53e78398.dfa89c","type":"inject","z":"7e7795cf.14144c","name":"1 sec","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"1","crontab":"","once":true,"onceDelay":"","topic":"tick","payload":"","payloadType":"date","x":454,"y":278,"wires":[["b51ad0e.3c81c3"]]},{"id":"893125a3.851dc8","type":"rpi-gpio out","z":"7e7795cf.14144c","name":"","pin":"13","set":true,"level":"1","out":"out","x":864.5,"y":261,"wires":[]},{"id":"b7c5ff48.3083b","type":"debug","z":"7e7795cf.14144c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":900,"y":120,"wires":[]},{"id":"6520dafb.805c64","type":"rpi-gpio out","z":"dfaed3d8.c987a","name":"Solar AUS","pin":"38","set":"","level":"0","freq":"","out":"out","x":1070,"y":680,"wires":[]},{"id":"cf2136bc.2d05f8","type":"trigger","z":"dfaed3d8.c987a","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"5","extend":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":870,"y":680,"wires":[["6520dafb.805c64"]]},{"id":"c37c2ad4.a4d878","type":"switch","z":"dfaed3d8.c987a","name":"diff kleiner den 2","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"2","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":420,"y":680,"wires":[["cf2136bc.2d05f8"],[]]}]```
      posted in Node-Red
      Stephan Gfrerer
      Stephan Gfrerer
    • RE: Speicherung von Daten

      also die einfachste lösung würde mir auch gefallen.
      wie gesagt durchschnittswert der letzten 56 stunden wäre nur ein zuckerl.

      habe jetzt den file konten ausprobiert. daten werden gespeichert aber nach neustart nicht angezeigt sondern das diagram startet wieder neu.

      ev könnte eine msql dazwischen die daten speichern.

      posted in Node-Red
      Stephan Gfrerer
      Stephan Gfrerer
    • RE: Speicherung von Daten

      @liv-in-sky said in Speicherung von Daten:

      den histroy adapter in iobroker einrichten und mit flot ein diagramm erstellen

      also habe mir alle drei möglichkeiten angesehen und werde mich an nummer 1 probieren 😉

      alleine vom lesen gehe ich nun einmal davon aus das ich diese settings.js datei mit ssh putty öffnen muss und irgendwo etwas hinein schreiben muss,

      oder was schöner wäre wenn ich zwischen den sensor und dem diagram einen functions knoten einführen muss der einfach sagt speicher die temperatur und gebe diese wieder aus wenn ein neustart durchgeführt wird.

      posted in Node-Red
      Stephan Gfrerer
      Stephan Gfrerer
    • RE: Speicherung von Daten

      also so wie du es formulierst kling es bei weiten besser und schöner, nur leider mit meinem technischem verständniss stehe ich wie der ochs vorm wald.

      daher ich erst seit ein paar monaten damit beschädige und mein wissen aus youtube forum lesen und aus dem buch iot programmieren mit node red stammt muss ich gestehen das ich history adapter vis neuland für mich ist.
      ☹

      aber wass soll ich sagen learning by doing. glaube auch das es sicher einfacher geht den wert von ds18b20 in ein diagramm zu packen das mir die ganze saison auswertet. durchschnitt wassertemperatur -> tag, woche, monat.
      und eventuell noch durchschnittstemperatur der letzten 56 stunden.
      aber wie gesagt meine fährigkeiten sind bescheiden.

      posted in Node-Red
      Stephan Gfrerer
      Stephan Gfrerer
    • RE: Speicherung von Daten
      [{"id":"c7210494.f227d8","type":"inject","z":"c4ff82a5.335aa","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":118,"y":40,"wires":[["2e25eef9.97f0c2"]]},{"id":"244242d1.fcc53e","type":"debug","z":"c4ff82a5.335aa","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1041.0000076293945,"y":39,"wires":[]},{"id":"c65a955a.cec0e8","type":"average-bars","z":"c4ff82a5.335aa","name":"Wassertemperatur","title":"","period":"week","yMin":"auto","yMax":"auto","showBarsValue":true,"showScaleValue":true,"showLastValue":true,"showAverageValue":true,"showMinimumValue":true,"showMaximumValue":true,"maxBar":30,"topColor":"#ff0000","bottomColor":"#ffff00","unit":"","fontColor":"#aaaaaa","barStyle":"Equalizer","decimal":"2","x":878.0000343322754,"y":204.99998664855957,"wires":[["5e9a0e66.e42ea"]]},{"id":"5e9a0e66.e42ea","type":"ui_template","z":"c4ff82a5.335aa","group":"4a81eb18.fdc154","name":"","order":0,"width":"12","height":"6","format":"<div ng-bind-html=\"msg.payload\"></div>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":1044.0000190734863,"y":204.99998426437378,"wires":[[]]},{"id":"a4d4021f.54783","type":"rpi-ds18b20","z":"c4ff82a5.335aa","topic":"","array":false,"name":"","x":544.0000228881836,"y":44,"wires":[["244242d1.fcc53e","c65a955a.cec0e8","75093bde.0c9844","a2d4e745.507ad8","685170f0.30e3a"]]},{"id":"75093bde.0c9844","type":"average-bars","z":"c4ff82a5.335aa","name":"Wassertemperatur","title":"","period":"month","yMin":"auto","yMax":"auto","showBarsValue":true,"showScaleValue":true,"showLastValue":true,"showAverageValue":true,"showMinimumValue":true,"showMaximumValue":true,"maxBar":30,"topColor":"#ff0000","bottomColor":"#ffff00","unit":"","fontColor":"#aaaaaa","barStyle":"Equalizer","decimal":"2","x":890.0000190734863,"y":262.9999842643738,"wires":[["32a15580.7f4dfa"]]},{"id":"32a15580.7f4dfa","type":"ui_template","z":"c4ff82a5.335aa","group":"4a81eb18.fdc154","name":"","order":0,"width":"12","height":"6","format":"<div ng-bind-html=\"msg.payload\"></div>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":1057.0000190734863,"y":262.9999842643738,"wires":[[]]},{"id":"a2d4e745.507ad8","type":"average-bars","z":"c4ff82a5.335aa","name":"Wassertemperatur","title":"","period":"year","yMin":"auto","yMax":"auto","showBarsValue":true,"showScaleValue":true,"showLastValue":true,"showAverageValue":true,"showMinimumValue":true,"showMaximumValue":true,"maxBar":30,"topColor":"#ff0000","bottomColor":"#ffff00","unit":"","fontColor":"#aaaaaa","barStyle":"Equalizer","decimal":"2","x":887.0000190734863,"y":318.9999842643738,"wires":[["50b725ec.04f97c"]]},{"id":"50b725ec.04f97c","type":"ui_template","z":"c4ff82a5.335aa","group":"4a81eb18.fdc154","name":"","order":0,"width":"12","height":"6","format":"<div ng-bind-html=\"msg.payload\"></div>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":1054.0000190734863,"y":318.9999842643738,"wires":[[]]},{"id":"2e25eef9.97f0c2","type":"dsm","z":"c4ff82a5.335aa","name":"RED settings","sm_config":"{\n    \"methods\": {\n        \"init\": [\n            \"sm.userDir = RED.settings.userDir;\",\n            \"sm.dsmVersion = require(sm.userDir+'/node_modules/node-red-contrib-dsm/package.json').version;\"\n        ],\n        \"onTransition\": [\n            \"msg.payload = {};\",\n            \"var s = RED.settings;\",\n            \"msg.payload.nodeRedVersion = s.version;\",\n            \"msg.payload.dsmVersion = sm.dsmVersion;\",\n            \"msg.payload.coreNodesDir = s.coreNodesDir;\",\n            \"msg.payload.userDir = s.userDir;\",\n            \"msg.payload.settingsFile = s.settingsFile;\",\n            \"msg.payload.logging = s.logging.console.level;\",\n            \"msg.payload.functionGlobalContext = s.functionGlobalContext;\",\n            \"msg.payload.contextStorage = s.contextStorage;\",\n            \"output = true;\"\n        ]\n    }\n}","x":318.01424407958984,"y":43.005672454833984,"wires":[["a4d4021f.54783"]]},{"id":"685170f0.30e3a","type":"average-bars","z":"c4ff82a5.335aa","name":"Wassertemperatur","title":"","period":"hour","yMin":"auto","yMax":"auto","showBarsValue":true,"showScaleValue":true,"showLastValue":true,"showAverageValue":true,"showMinimumValue":true,"showMaximumValue":true,"maxBar":30,"topColor":"#ff0000","bottomColor":"#ffff00","unit":"","fontColor":"#aaaaaa","barStyle":"Equalizer","decimal":"2","x":878.0142135620117,"y":157.00566625595093,"wires":[["8ecd6a21.216fa8"]]},{"id":"8ecd6a21.216fa8","type":"ui_template","z":"c4ff82a5.335aa","group":"4a81eb18.fdc154","name":"","order":0,"width":"12","height":"6","format":"<div ng-bind-html=\"msg.payload\"></div>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":1044.0141983032227,"y":157.00566387176514,"wires":[[]]},{"id":"4a81eb18.fdc154","type":"ui_group","z":"","name":"Temperatur","tab":"34ba3506.e8346a","disp":true,"width":"12","collapse":false},{"id":"34ba3506.e8346a","type":"ui_tab","z":"","name":"WASSER","icon":"dashboard","disabled":false,"hidden":false}]
      
      posted in Node-Red
      Stephan Gfrerer
      Stephan Gfrerer
    • Speicherung von Daten

      Guten Tag liebe Community,
      ich bin derzeit an einer Temperaturaufzeichnung für den Pool dran.
      Ich kann den Wert DS18B20 auslesen und Anzeigen lassen.
      Als Konten verwende ich average bars und template.
      Nun wenn ich den RPI neu starte sind alle Daten wieder weg und er beginnt von neuem. In Wiki steht folgendes drin "Knotenroter Neustart: Behalten Sie die Knotenwerte bei, indem Sie die Kontextwerte speichern (siehe contextStorage-Attribut in settings.js)."

      Nur wie funktioniert das? Soll ich hier eine funtion einbauen oder gibt es hier etwas zum downloaden. Wichtig ist mir das die Daten über die ganze Saison local abgespeichert werden und ich beim neustart die alten Daten auch sehe.

      Bitte gebt mir einen Tip wie ich hier vorgehen kann. Ev. gibt es ein Video aus einem anderen Projekt in dem das beschrieben wird.

      Vorab Herzlichen DANK!

      posted in Node-Red
      Stephan Gfrerer
      Stephan Gfrerer
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo