Rapportera till Temperatur.nu från Home Assistant

Förberedelser
Börja med att gå till temperatur.nu och skapa upp en ny station. Som rapporteringssätt väljer du ”Rapporteringsurl”. Skriv ner alla tecken som finns i rutan ”Hashkod som är kopplad till denna mätpunkt”. De behövs senare.
Shellscript
Ett alternativ är att skapa ett shellscript som rapporterar temperaturen.
Uppdatera din configuration.yaml med koden nedan. Byt ut ”YOURHASHHERE” mot hashkoden du fick när du skapade din station samt ändra sensorn till den du vill använda.
1 2 3 |
shell_command: temperatur_nu: "/usr/bin/curl http://www.temperatur.nu/rapportera.php?hash=YOURHASHHERE&t={{ states.sensor.utomhustemperatur.state }}" |
För att sedan aktivera scriptet var tredje minut skapar vi en automation som gör det. Bara att kopiera och klistra in koden nedan i configuration.yaml.
Kör du Hass.io tar man bort översta raden och klistrar in resten i filen automations.yaml istället.
1 2 3 4 5 6 7 8 9 |
automation: - alias: Rapportera Temperatur hide_entity: false initial_state: true trigger: - platform: time_pattern minutes: '/3' action: service: shell_command.temperatur_nu |
Starta om Home Assistant så är du igång med temperaturrapporteringen!
Node Red
Ett annat alternativ är om man använder det utmärkta tillägget NodeRed.
NodeRed ersätter vanligtvis ens automationer och fungerar perfekt till att även rapportera till Temperatur.nu.
Börja med en ”inject-nod” som aktiveras t ex var tredje minut.

Till den kopplar du en ”current state-nod” som plockar värdet från valfri temperatursensor.

Efter det måste vi ändra msg.payload till rapporteringadressen. Detta görs med en ”change-nod”. Vi använder ett reguljärt uttryck för att fånga temperaturen från sensorn.

Nu är vi snart i mål. Nu behöver vi bara sätta msg.url till msg.payload med en ”change-nod”.

Sen är vi klara att skicka meddelandet med en ”http request-nod”.

Hela flödet ser ut så här:

Och för den som vill importera det hela finns koden nedan. Byt bara till din sensor i ”Hämta temp” noden samt ändra till din hashkod i ”change msg.payload” noden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
[ { "id": "54960641.530fe8", "type": "inject", "z": "890b7b38.c854b8", "name": "Var 3 minut", "topic": "", "payload": "", "payloadType": "str", "repeat": "180", "crontab": "", "once": false, "onceDelay": "", "x": 150, "y": 300, "wires": [ [ "fe4b1ca1.0448" ] ] }, { "id": "fe4b1ca1.0448", "type": "api-current-state", "z": "890b7b38.c854b8", "name": "Hämta temp", "server": "fdbef8cc.ea22a8", "version": "1", "outputs": 1, "halt_if": "", "halt_if_type": "str", "halt_if_compare": "is", "override_topic": false, "entity_id": "sensor.temperature", "state_type": "str", "state_location": "payload", "override_payload": "msg", "entity_location": "data", "override_data": "msg", "blockInputOverrides": false, "x": 310, "y": 300, "wires": [ [ "1fe65b6b.564355" ] ] }, { "id": "1fe65b6b.564355", "type": "change", "z": "890b7b38.c854b8", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "^(.*)$", "fromt": "re", "to": "http://www.temperatur.nu/rapportera.php?hash=YOURHASH&t=$1", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 300, "wires": [ [ "3dfa27b9.702718" ] ] }, { "id": "3dfa27b9.702718", "type": "change", "z": "890b7b38.c854b8", "name": "", "rules": [ { "t": "set", "p": "url", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 690, "y": 300, "wires": [ [ "fe7cd9b8.c2ebf8" ] ] }, { "id": "fe7cd9b8.c2ebf8", "type": "http request", "z": "890b7b38.c854b8", "name": "rapportera temperaturen!", "method": "GET", "ret": "txt", "paytoqs": false, "url": "", "tls": "", "proxy": "", "x": 890, "y": 300, "wires": [ [] ] }, { "id": "fdbef8cc.ea22a8", "type": "server", "z": "", "name": "Home Assistant", "legacy": false, "hassio": true, "rejectUnauthorizedCerts": true, "ha_boolean": "y|yes|true|on|home|open", "connectionDelay": true } ] |