# Possibilité de paramétrage d'un délai avant et après les lever et coucher du soleil

**URL:** <https://community.gladysassistant.com/t/possibilite-de-parametrage-dun-delai-avant-et-apres-les-lever-et-coucher-du-soleil/7850>\
**Category:** Demandes livrées\
**Tags:** feature-core, scene, scene-action, scene-trigger\
**Created:** [Janvier 17, 2023, 5:22 UTC](https://community.gladysassistant.com/t/possibilite-de-parametrage-dun-delai-avant-et-apres-les-lever-et-coucher-du-soleil/7850 "2023-01-17T17:22:19Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [Novembre 23, 2023, 11:36 UTC](https://community.gladysassistant.com/t/possibilite-de-parametrage-dun-delai-avant-et-apres-les-lever-et-coucher-du-soleil/7850/11 "2023-11-23T23:36:10Z")

</div>

@b3n.0  
il y a 2 solutions, passer par node-red [Mini-tuto Sun-Position Nore-red Mqtt pour piloter les volets en fonction de la position du soleil et des mois](https://community.gladysassistant.com/t/mini-tuto-sun-position-nore-red-mqtt-pour-piloter-les-volets-en-fonction-de-la-position-du-soleil-et-des-mois/8028)

en modifiant le flow pour avoir sunrise et sunset comme ci-dessous et en ajoutant  
dans gladys dans l’appareil créé pour l’azimuth et l’altitude 2 commutateurs  
correspondants qui recoit du flow node-red  
gladys/master/device/mqtt:soleil/feature/mqtt:sunrise/state  
gladys/master/device/mqtt:soleil/feature/mqtt:sunset/state  
ensuite il y a plus qu’à le gérer dans une scène en récupérant l’état de l’appareil  
dans le code de la fonction minutedepuis minuit il faut passer l’état à 1 dans le payload pour commuter et ajuster le node «&nbsp;delay&nbsp;»

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/6/6de45ff4ed8d462e67df71e47d3bdb283d836122.png)

> **Code du flow**
>
> ```auto
> t[
> {
> "id": "dbd46647b51191ed",
> "type": "tab",
> "label": "Sun-Position",
> "disabled": false,
> "info": "",
> "env": []
> },
> {
> "id": "a0d0e562.7ad1d8",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 1",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": false,
> "complete": "true",
> "targetType": "full",
> "statusVal": "",
> "statusType": "auto",
> "x": 720,
> "y": 180,
> "wires": []
> },
> {
> "id": "9cc2d51.4ac0828",
> "type": "change",
> "z": "dbd46647b51191ed",
> "name": "azimuth",
> "rules": [
> {
> "t": "set",
> "p": "payload",
> "pt": "msg",
> "to": "payload.azimuth",
> "tot": "msg"
> },
> {
> "t": "set",
> "p": "topic",
> "pt": "msg",
> "to": "gladys/master/device/mqtt:soleil/feature/mqtt:azimuth/state",
> "tot": "str"
> }
> ],
> "action": "",
> "property": "",
> "from": "",
> "to": "",
> "reg": false,
> "x": 720,
> "y": 240,
> "wires": [
> [
> "0a17f9d94c9dae35",
> "ddf8b5e66052a4dc"
> ]
> ]
> },
> {
> "id": "28e91.9d63d16f6",
> "type": "change",
> "z": "dbd46647b51191ed",
> "name": "altitude",
> "rules": [
> {
> "t": "set",
> "p": "payload",
> "pt": "msg",
> "to": "payload.altitude",
> "tot": "msg"
> },
> {
> "t": "set",
> "p": "topic",
> "pt": "msg",
> "to": "gladys/master/device/mqtt:soleil/feature/mqtt:altitude/state",
> "tot": "str"
> }
> ],
> "action": "",
> "property": "",
> "from": "",
> "to": "",
> "reg": false,
> "x": 720,
> "y": 320,
> "wires": [
> [
> "ae57174554627c71",
> "58367a9aedab25dc"
> ]
> ]
> },
> {
> "id": "e921e01a.a0fa3",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 4",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": false,
> "complete": "true",
> "targetType": "full",
> "statusVal": "",
> "statusType": "auto",
> "x": 720,
> "y": 380,
> "wires": []
> },
> {
> "id": "e866e950.a7f798",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 3",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": true,
> "complete": "true",
> "targetType": "full",
> "statusVal": "payload",
> "statusType": "auto",
> "x": 1160,
> "y": 180,
> "wires": []
> },
> {
> "id": "5b085e1b.4ec8a",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 6",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": true,
> "complete": "true",
> "targetType": "full",
> "statusVal": "payload",
> "statusType": "auto",
> "x": 1160,
> "y": 380,
> "wires": []
> },
> {
> "id": "8eee70dd77c1369c",
> "type": "mqtt out",
> "z": "dbd46647b51191ed",
> "name": "",
> "topic": "",
> "qos": "",
> "retain": "",
> "respTopic": "",
> "contentType": "",
> "userProps": "",
> "correl": "",
> "expiry": "",
> "broker": "3c3eb52d.9fb296",
> "x": 1150,
> "y": 280,
> "wires": []
> },
> {
> "id": "0a17f9d94c9dae35",
> "type": "function",
> "z": "dbd46647b51191ed",
> "name": "arrondi entier",
> "func": "msg.payload = Math.round(msg.payload)\nreturn msg;",
> "outputs": 1,
> "noerr": 0,
> "initialize": "",
> "finalize": "",
> "libs": [],
> "x": 930,
> "y": 240,
> "wires": [
> [
> "8eee70dd77c1369c",
> "e866e950.a7f798"
> ]
> ]
> },
> {
> "id": "ddf8b5e66052a4dc",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 2",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": false,
> "complete": "true",
> "targetType": "full",
> "statusVal": "",
> "statusType": "auto",
> "x": 920,
> "y": 180,
> "wires": []
> },
> {
> "id": "ae57174554627c71",
> "type": "function",
> "z": "dbd46647b51191ed",
> "name": "arrondi entier",
> "func": "msg.payload = Math.round(msg.payload)\nreturn msg;",
> "outputs": 1,
> "noerr": 0,
> "initialize": "",
> "finalize": "",
> "libs": [],
> "x": 930,
> "y": 320,
> "wires": [
> [
> "5b085e1b.4ec8a",
> "8eee70dd77c1369c"
> ]
> ]
> },
> {
> "id": "58367a9aedab25dc",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 5",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": false,
> "complete": "true",
> "targetType": "full",
> "statusVal": "",
> "statusType": "auto",
> "x": 920,
> "y": 380,
> "wires": []
> },
> {
> "id": "56265aeb.99f034",
> "type": "sun-position",
> "z": "dbd46647b51191ed",
> "name": "",
> "positionConfig": "2831ba70.55a636",
> "rules": [
> {
> "valueLow": "0",
> "valueLowType": "num",
> "valueHigh": "360",
> "valueHighType": "num"
> }
> ],
> "onlyOnChange": "true",
> "topic": "",
> "outputs": 2,
> "start": "sunsetStart",
> "startType": "pdsTime",
> "startOffset": 0,
> "startOffsetType": "num",
> "startOffsetMultiplier": 60000,
> "end": "sunriseEnd",
> "endType": "pdsTime",
> "endOffset": 0,
> "endOffsetType": "num",
> "endOffsetMultiplier": 60000,
> "x": 470,
> "y": 280,
> "wires": [
> [
> "a0d0e562.7ad1d8",
> "9cc2d51.4ac0828",
> "28e91.9d63d16f6",
> "6b1f97b4cc4c5e53",
> "b10eedb2bb5656c1"
> ],
> [
> "e921e01a.a0fa3"
> ]
> ]
> },
> {
> "id": "664b1852987e09be",
> "type": "time-inject",
> "z": "dbd46647b51191ed",
> "name": "Période et Intervalle d'injection .",
> "nameInt": "¹sunrise start - sunset end = timestamp ↻10min",
> "positionConfig": "2831ba70.55a636",
> "props": [
> {
> "p": "",
> "pt": "msgPayload",
> "v": "",
> "vt": "date",
> "o": "",
> "oT": "none",
> "oM": "60000",
> "f": 0,
> "fS": 0,
> "fT": "UNIX timestamp (ms)",
> "fI": "0",
> "next": true,
> "days": "*",
> "months": "*",
> "onlyOddDays": false,
> "onlyEvenDays": false,
> "onlyOddWeeks": false,
> "onlyEvenWeeks": false
> },
> {
> "p": "",
> "pt": "msgTopic",
> "v": "",
> "vt": "str",
> "o": "",
> "oT": "none",
> "oM": "60000",
> "f": 0,
> "fS": 0,
> "fT": "UNIX timestamp (ms)",
> "fI": "0",
> "next": false,
> "days": "*",
> "months": "*",
> "onlyOddDays": false,
> "onlyEvenDays": false,
> "onlyOddWeeks": false,
> "onlyEvenWeeks": false
> }
> ],
> "injectTypeSelect": "interval-time",
> "intervalCount": "10",
> "intervalCountType": "num",
> "intervalCountMultiplier": 60000,
> "cron": "",
> "cronType": "cronexpr",
> "time": "sunriseStart",
> "timeType": "pdsTime",
> "offset": 0,
> "offsetType": "none",
> "offsetMultiplier": 60000,
> "timeEnd": "sunsetEnd",
> "timeEndType": "pdsTime",
> "timeEndOffset": 0,
> "timeEndOffsetType": "none",
> "timeEndOffsetMultiplier": 60000,
> "timeDays": "*",
> "timeOnlyOddDays": false,
> "timeOnlyEvenDays": false,
> "timeOnlyOddWeeks": false,
> "timeOnlyEvenWeeks": false,
> "timeMonths": "*",
> "timedatestart": "",
> "timedateend": "",
> "property": "",
> "propertyType": "none",
> "propertyCompare": "true",
> "propertyThreshold": "",
> "propertyThresholdType": "num",
> "timeAlt": "",
> "timeAltType": "entered",
> "timeAltDays": "*",
> "timeAltOnlyOddDays": false,
> "timeAltOnlyEvenDays": false,
> "timeAltOnlyOddWeeks": false,
> "timeAltOnlyEvenWeeks": false,
> "timeAltMonths": "*",
> "timeAltOffset": 0,
> "timeAltOffsetType": "none",
> "timeAltOffsetMultiplier": 60000,
> "once": true,
> "onceDelay": 0.1,
> "recalcTime": 2,
> "x": 220,
> "y": 280,
> "wires": [
> [
> "56265aeb.99f034"
> ]
> ]
> },
> {
> "id": "6b1f97b4cc4c5e53",
> "type": "change",
> "z": "dbd46647b51191ed",
> "name": "sunset",
> "rules": [
> {
> "t": "set",
> "p": "payload",
> "pt": "msg",
> "to": "payload.times.sunsetStart",
> "tot": "msg"
> },
> {
> "t": "set",
> "p": "topic",
> "pt": "msg",
> "to": "gladys/master/device/mqtt:soleil/feature/mqtt:sunset/state",
> "tot": "str"
> }
> ],
> "action": "",
> "property": "",
> "from": "",
> "to": "",
> "reg": false,
> "x": 710,
> "y": 660,
> "wires": [
> [
> "8c99bc6da0a4d5b0",
> "3e97e9902da57988"
> ]
> ]
> },
> {
> "id": "b10eedb2bb5656c1",
> "type": "change",
> "z": "dbd46647b51191ed",
> "name": "sunrise",
> "rules": [
> {
> "t": "set",
> "p": "payload",
> "pt": "msg",
> "to": "payload.times.sunriseStart",
> "tot": "msg"
> },
> {
> "t": "set",
> "p": "topic",
> "pt": "msg",
> "to": "gladys/master/device/mqtt:soleil/feature/mqtt:sunrise/state",
> "tot": "str"
> }
> ],
> "action": "",
> "property": "",
> "from": "",
> "to": "",
> "reg": false,
> "x": 720,
> "y": 500,
> "wires": [
> [
> "ac45aa2966444fcf",
> "bb2297c4afea4845"
> ]
> ]
> },
> {
> "id": "3e97e9902da57988",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 10",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": true,
> "complete": "true",
> "targetType": "full",
> "statusVal": "payload",
> "statusType": "auto",
> "x": 920,
> "y": 720,
> "wires": []
> },
> {
> "id": "e9dd4a4e8fcb034c",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 11",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": true,
> "complete": "true",
> "targetType": "full",
> "statusVal": "payload",
> "statusType": "auto",
> "x": 1160,
> "y": 440,
> "wires": []
> },
> {
> "id": "870a1a0c309ea346",
> "type": "mqtt out",
> "z": "dbd46647b51191ed",
> "name": "",
> "topic": "",
> "qos": "",
> "retain": "",
> "respTopic": "",
> "contentType": "",
> "userProps": "",
> "correl": "",
> "expiry": "",
> "broker": "3c3eb52d.9fb296",
> "x": 1170,
> "y": 580,
> "wires": []
> },
> {
> "id": "8c99bc6da0a4d5b0",
> "type": "function",
> "z": "dbd46647b51191ed",
> "name": "minutes depuis 00h00",
> "func": "// Entrée : msg.payload = \"2023-11-23T16:23:18.121Z\"\n\n// Convertir la chaîne de caractères en objet Date\nvar dateObj = new Date(msg.payload.value);\n\n// Extraire l'heure et les minutes\nvar heures = dateObj.getUTCHours();\nvar minutes = dateObj.getUTCMinutes();\n\n// Calculer le nombre total de minutes depuis 00:00\nvar minutesDepuisMinuit = heures * 60 + minutes;\n\nmsg.topic = heures;\nmsg.payload = minutesDepuisMinuit;\n\n// Renvoyer le message\nreturn msg;",
> "outputs": 1,
> "timeout": "",
> "noerr": 0,
> "initialize": "",
> "finalize": "",
> "libs": [],
> "x": 940,
> "y": 660,
> "wires": [
> [
> "7134c8c9865f611d",
> "5efa49d45f363336"
> ]
> ]
> },
> {
> "id": "ac45aa2966444fcf",
> "type": "function",
> "z": "dbd46647b51191ed",
> "name": "minutes depuis 00h00",
> "func": "// Entrée : msg.payload = \"2023-11-23T16:23:18.121Z\"\n\n// Convertir la chaîne de caractères en objet Date\nvar dateObj = new Date(msg.payload.value);\n\n// Extraire l'heure et les minutes\nvar heures = dateObj.getUTCHours();\nvar minutes = dateObj.getUTCMinutes();\n\n// Calculer le nombre total de minutes depuis 00:00\nvar minutesDepuisMinuit = heures * 60 + minutes;\n\nmsg.payload = minutesDepuisMinuit;\n\n// Renvoyer le message\nreturn msg;",
> "outputs": 1,
> "timeout": "",
> "noerr": 0,
> "initialize": "",
> "finalize": "",
> "libs": [],
> "x": 940,
> "y": 500,
> "wires": [
> [
> "e9dd4a4e8fcb034c",
> "9de494cb30ca99c2"
> ]
> ]
> },
> {
> "id": "bb2297c4afea4845",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 12",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": true,
> "complete": "true",
> "targetType": "full",
> "statusVal": "payload",
> "statusType": "auto",
> "x": 920,
> "y": 440,
> "wires": []
> },
> {
> "id": "7134c8c9865f611d",
> "type": "debug",
> "z": "dbd46647b51191ed",
> "name": "debug 13",
> "active": false,
> "tosidebar": true,
> "console": false,
> "tostatus": true,
> "complete": "true",
> "targetType": "full",
> "statusVal": "payload",
> "statusType": "auto",
> "x": 1160,
> "y": 720,
> "wires": []
> },
> {
> "id": "9de494cb30ca99c2",
> "type": "delay",
> "z": "dbd46647b51191ed",
> "name": "",
> "pauseType": "delay",
> "timeout": "5",
> "timeoutUnits": "seconds",
> "rate": "1",
> "nbRateUnits": "1",
> "rateUnits": "second",
> "randomFirst": "1",
> "randomLast": "5",
> "randomUnits": "seconds",
> "drop": false,
> "allowrate": false,
> "outputs": 1,
> "x": 1160,
> "y": 500,
> "wires": [
> [
> "870a1a0c309ea346"
> ]
> ]
> },
> {
> "id": "5efa49d45f363336",
> "type": "delay",
> "z": "dbd46647b51191ed",
> "name": "",
> "pauseType": "delay",
> "timeout": "5",
> "timeoutUnits": "seconds",
> "rate": "1",
> "nbRateUnits": "1",
> "rateUnits": "second",
> "randomFirst": "1",
> "randomLast": "5",
> "randomUnits": "seconds",
> "drop": false,
> "allowrate": false,
> "outputs": 1,
> "x": 1160,
> "y": 660,
> "wires": [
> [
> "870a1a0c309ea346"
> ]
> ]
> },
> {
> "id": "3c3eb52d.9fb296",
> "type": "mqtt-broker",
> "name": "MQTT Broker",
> "broker": "localhost",
> "port": "1883",
> "clientid": "",
> "autoConnect": true,
> "usetls": false,
> "compatmode": false,
> "protocolVersion": "4",
> "keepalive": "60",
> "cleansession": true,
> "birthTopic": "",
> "birthQos": "0",
> "birthPayload": "",
> "birthMsg": {},
> "closeTopic": "",
> "closeQos": "0",
> "closePayload": "",
> "closeMsg": {},
> "willTopic": "",
> "willQos": "0",
> "willPayload": "",
> "willMsg": {},
> "userProps": "",
> "sessionExpiry": ""
> },
> {
> "id": "2831ba70.55a636",
> "type": "position-config",
> "name": "Maison",
> "isValide": "true",
> "angleType": "deg",
> "timeZoneOffset": "99",
> "timeZoneDST": "0",
> "stateTimeFormat": "3",
> "stateDateFormat": "12",
> "contextStore": ""
> }
> ]
> 
> ```

ou par une scène (en attendant un dev pour cela avec sunrise, sunset, l’altitude et la longitude) :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/0/0a35b70068af50625238118237ce14db27797345.png)

pour choisir les jours concernés avec J -1 ici pour que cela fonctionne de L à V

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/9/9d38d6fa674286c6a3b900f5ebf9e92d81a286b1.png)

combien de temps avant le lever du soleil = 24h - le temps désiré ici pour 1 h avant le lever du soleil

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/7/706a48b94525ee7640164e20b4d9e1ca73023a7a.png)

Il y a plus qu’à actionner

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/d/dd96860b9088c56b826cb39a3d2cc94bd99317aa.png)

---

_[View the full topic](https://community.gladysassistant.com/t/possibilite-de-parametrage-dun-delai-avant-et-apres-les-lever-et-coucher-du-soleil/7850)._
