Mick,
Voici mon renouvellement automatique de certificat.
Je suis sous HA OS.
Le script appelé depuis Node Red qui lance l’Add On Let’s Encript et envoi une notification sur mon portable:
alias: Renouvellement Certificat
sequence:
- service: hassio.addon_start
data:
addon: core_letsencrypt
- service: notify.mobile_app_iphone_de_bob
data:
message: Démarrage Let's Encrypt
title: Certificat SSL
mode: single
icon: mdi:security
Le flow Node Red, après test, remplacer dans le switch le 66 par 2 ou 3 :
Si je passe sun.sun à « below_horizon » dans outil de developpement, ça lance bien le flow et le script, je verrai au couché du soleil ce soir si ça fonctionne bien en automatique
[{"id":"1c21385eb72b028f","type":"tab","label":"Certificat","disabled":false,"info":"","env":[]},{"id":"cba922d97d245edc","type":"debug","z":"1c21385eb72b028f","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":910,"y":200,"wires":[]},{"id":"f2b9ad5c95cf94bf","type":"api-current-state","z":"1c21385eb72b028f","name":"Expiration certificat","server":"443ff1c5.63d78","version":2,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.cert_expiry_timestamp_mondomaine_fr","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":390,"y":200,"wires":[["642f1eec7ca4c701"]]},{"id":"9b1e1efe9b9c8efa","type":"ui_date_picker","z":"1c21385eb72b028f","name":"","label":"date","group":"7581546f.42c224","order":2,"width":0,"height":0,"passthru":true,"topic":"topic","topicType":"msg","className":"","x":350,"y":280,"wires":[["ccc10d5dde56fc26"]]},{"id":"642f1eec7ca4c701","type":"function","z":"1c21385eb72b028f","name":"Expir","func":"msg.payload = msg.payload.substring(0,msg.payload.length -15);\nmsg.payload = Date.parse(msg.payload) /1000;\nglobal.set('dateexpir', msg.payload);\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":570,"y":200,"wires":[["cba922d97d245edc","403ea73e67190e45"]]},{"id":"1cd3b498c4ccc80a","type":"debug","z":"1c21385eb72b028f","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":910,"y":280,"wires":[]},{"id":"ccc10d5dde56fc26","type":"function","z":"1c21385eb72b028f","name":"Jour","func":"msg.payload = msg.payload /1000 ;\nmsg.payload = parseFloat(msg.payload).toFixed(0);\nmsg.payload = Number(msg.payload);\nglobal.set('datejour', msg.payload);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":570,"y":280,"wires":[["1cd3b498c4ccc80a"]]},{"id":"403ea73e67190e45","type":"function","z":"1c21385eb72b028f","name":"DiffDate","func":"var datejour = global.get('datejour');\nvar dateexpir = global.get('dateexpir');\nvar tempsval = dateexpir - datejour;\ntempsval = ((tempsval /3600) /24);\ntempsval = parseFloat(tempsval).toFixed(0);\nmsg.payload = tempsval;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":740,"y":420,"wires":[["0cb5cb5bc50ed3d6","98e564e8e0240c5d"]]},{"id":"0cb5cb5bc50ed3d6","type":"debug","z":"1c21385eb72b028f","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":910,"y":420,"wires":[]},{"id":"98e564e8e0240c5d","type":"switch","z":"1c21385eb72b028f","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"66","vt":"str"},{"t":"gt","v":"66","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":750,"y":340,"wires":[["d35cac400d66e9f6"],[]]},{"id":"d35cac400d66e9f6","type":"api-call-service","z":"1c21385eb72b028f","name":"","server":"443ff1c5.63d78","version":3,"debugenabled":false,"service_domain":"script","service":"renouvellement_certificat","entityId":"","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":980,"y":340,"wires":[[]]},{"id":"31743c2828fef00c","type":"inject","z":"1c21385eb72b028f","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":100,"y":180,"wires":[["f2b9ad5c95cf94bf","9b1e1efe9b9c8efa"]]},{"id":"031da89e7b5514d5","type":"server-state-changed","z":"1c21385eb72b028f","name":"","server":"443ff1c5.63d78","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sun.sun","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"below_horizon","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"10","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"date"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":120,"y":300,"wires":[["f2b9ad5c95cf94bf","9b1e1efe9b9c8efa"],[]]},{"id":"443ff1c5.63d78","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30},{"id":"7581546f.42c224","type":"ui_group","name":"Utilities","tab":"a577685a.d0bd48","order":3,"disp":true,"width":"6","collapse":false},{"id":"a577685a.d0bd48","type":"ui_tab","name":"Arbeitszimmer","icon":"dashboard","order":3}]