### Mutation Use this mutation to import a template specifically designed to work with the `WeatherSensorDevice` type. This template retrieves real-time weather data from the public Open-Meteo API using a Zabbix HTTP agent item. ```graphql mutation ImportWeatherSensorTemplate($templates: [CreateTemplate!]!) { importTemplates(templates: $templates) { host templateid message error { message code } } } ``` ### Variables The following variables define the `WEATHER_SENSOR` template. It uses the host's user macros (`{$LAT}` and `{$LON}`) to fetch localized weather data. ```json { "templates": [ { "host": "WEATHER_SENSOR", "name": "Weather Sensor API Template", "groupNames": ["Templates/External APIs"], "tags": [ { "tag": "deviceType", "value": "WeatherSensorDevice" } ], "macros": [ { "macro": "{$LAT}", "value": "52.52" }, { "macro": "{$LON}", "value": "13.41" } ], "items": [ { "name": "Open-Meteo API Fetch", "type": 19, "key": "weather.get", "value_type": 4, "history": "0", "delay": "1m", "url": "https://api.open-meteo.com/v1/forecast?latitude={$LAT}&longitude={$LON}¤t=temperature_2m,weather_code", "description": "Master item fetching weather data from Open-Meteo based on host coordinates." }, { "name": "Current Temperature", "type": 18, "key": "state.current.temperature", "value_type": 0, "history": "7d", "master_item": { "key": "weather.get" }, "preprocessing": [ { "type": 12, "params": ["$.current.temperature_2m"] } ] }, { "name": "Street Condition Warnings", "type": 18, "key": "state.current.streetConditionWarnings", "value_type": 4, "history": "7d", "master_item": { "key": "weather.get" }, "preprocessing": [ { "type": 12, "params": ["$.current.weather_code"] }, { "type": 21, "params": ["var codes = {0:\"Clear\",1:\"Mainly Clear\",2:\"Partly Cloudy\",3:\"Overcast\",45:\"Fog\",48:\"Depositing Rime Fog\",51:\"Light Drizzle\",53:\"Moderate Drizzle\",55:\"Dense Drizzle\",56:\"Light Freezing Drizzle\",57:\"Dense Freezing Drizzle\",61:\"Slight Rain\",63:\"Moderate Rain\",65:\"Heavy Rain\",66:\"Light Freezing Rain\",67:\"Heavy Freezing Rain\",71:\"Slight Snow Fall\",73:\"Moderate Snow Fall\",75:\"Heavy Snow Fall\",77:\"Snow Grains\",80:\"Slight Rain Showers\",81:\"Moderate Rain Showers\",82:\"Violent Rain Showers\",85:\"Slight Snow Showers\",86:\"Heavy Snow Showers\",95:\"Thunderstorm\",96:\"Thunderstorm with Slight Hail\",99:\"Thunderstorm with Heavy Hail\"}; var code = parseInt(value); var warning = codes[code] || \"Unknown\"; if ([56, 57, 66, 67, 71, 73, 75, 77, 85, 86].indexOf(code) !== -1) { return \"WARNING: Slippery Roads (Snow/Ice)\"; } if ([51, 53, 55, 61, 63, 65, 80, 81, 82].indexOf(code) !== -1) { return \"CAUTION: Wet Roads\"; } return warning;"] } ] } ] } ] } ```