Mail Delivery PostNord Sweden

This flow will check against PostNord when next delivery date is. Very handy since they started to deliver every second day in Sweden.

Kollar mot PostNords hemsida om det är postutdelning idag eller inte. https://www.postnord.se/vara-verktyg/sok-utdelningsdag

msg.payload = true om det är idag, annars false.

msg.delivery = närmsta utdelningsdag msg.upcoming = nästkommande utdelningsdag

Upptaterar 00.01

Tidshantering i UTC, så när det är normaltid är uppdateringen 01.01, sommartid 02.01.

Men då även Posten själva verkar uppdatera entligt UTC så känns det som ett mindre problem.

Slutnoden är till en binary_sensor i HASS som förutom node-red-contrib-home-assistant-websocket kräver ett tillägg i HASS som finns i HACS (https://github.com/zachowj/hass-node-red)

[{"id":"b9feab1b.44dc08","type":"http request","z":"437420d2.e8857","name":"Ändra till ditt postnummer här","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://portal.postnord.com/api/sendoutarrival/closest?postalCode=11111","tls":"","persist":false,"proxy":"","authType":"","x":230,"y":200,"wires":[["a8b4daa4.d3a328"]]},{"id":"a8b4daa4.d3a328","type":"json","z":"437420d2.e8857","name":"","property":"payload","action":"","pretty":false,"x":360,"y":270,"wires":[["6f23efe2.85927"]]},{"id":"bef56f5f.bf376","type":"ha-entity","z":"437420d2.e8857","d":true,"name":"Posten","server":"3a42f993.fcc2f6","version":1,"debugenabled":false,"outputs":1,"entityType":"binary_sensor","config":[{"property":"name","value":"Posten"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""}],"state":"payload","stateType":"msg","attributes":[{"property":"delivery","value":"delivery","valueType":"msg"},{"property":"upcoming","value":"upcoming","valueType":"msg"}],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":770,"y":190,"wires":[[]]},{"id":"212c946f.b9289c","type":"function","z":"437420d2.e8857","name":"Kommer posten idag?","func":"Date.prototype.isToday = function () {\n    const today = new Date()\n    return this.getDate() === today.getDate() &&\n    this.getMonth() === today.getMonth() &&\n    this.getFullYear() === today.getFullYear();\n    \n};\nconst date = new Date(msg.delivery);\n\nvar mail_today = date.isToday();    \n\nmsg.delivery = msg.payload.delivery;    //Närmsta utdelning\nmsg.upcoming = msg.payload.upcoming;    // Nästkommande utdelning\nmsg.payload = mail_today;   //true om posten kommer idag\n\nreturn msg;\n\n\n\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":650,"y":270,"wires":[["bef56f5f.bf376","3f664f15.cce75"]]},{"id":"6f23efe2.85927","type":"moment","z":"437420d2.e8857","name":"","topic":"","input":"payload.delivery","inputType":"msg","inTz":"Europe/Stockholm","adjAmount":0,"adjType":"days","adjDir":"add","format":"","locale":"C","output":"delivery","outputType":"msg","outTz":"Europe/Stockholm","x":510,"y":210,"wires":[["212c946f.b9289c"]]},{"id":"4783f413.d1cd0c","type":"cronplus","z":"437420d2.e8857","name":"Uppdatera 00.01 UTC","outputField":"payload","timeZone":"","persistDynamic":false,"commandResponseMsgOutput":"output1","outputs":1,"options":[{"name":"schedule1","topic":"schedule1","payloadType":"default","payload":"","expressionType":"cron","expression":"0 1 0 * * ? *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"}],"x":170,"y":280,"wires":[["b9feab1b.44dc08"]]},{"id":"206a4cea.c1ff34","type":"comment","z":"437420d2.e8857","name":"Flöde för att se om det är postutdelning idag","info":"Kollar mot PostNords hemsida om det är postutdelning idag eller inte. \nhttps://www.postnord.se/vara-verktyg/sok-utdelningsdag\n\nmsg.payload =  true om det är idag, annars false.\n\nmsg.delivery = närmsta utdelningsdag\nmsg.upcoming = nästkommande utdelningsdag\n\nUpptaterar 00.01\n\nTidshantering i UTC, så när det är normaltid är uppdateringen 01.01, sommartid 02.01.\n\nMen då även Posten själva verkar uppdatera entligt UTC så känns det som ett mindre problem.\n\nSlutnoden är till en binary_sensor i HASS som förutom  node-red-contrib-home-assistant-websocket kräver ett tillägg i HASS som finns i HACS (https://github.com/zachowj/hass-node-red)\n\n\n\n","x":250,"y":120,"wires":[]},{"id":"3f664f15.cce75","type":"debug","z":"437420d2.e8857","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":670,"y":360,"wires":[]},{"id":"3a42f993.fcc2f6","type":"server","name":"Home Assistant","legacy":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Flow Info

Created 4 years, 7 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • comment (x1)
  • debug (x1)
  • function (x1)
  • http request (x1)
  • json (x1)
Other
  • cronplus (x1)
  • ha-entity (x1)
  • moment (x1)
  • server (x1)

Tags

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