Maak van Domoticz een weerstation – Deel 4
Nu we alle weergegevens hebben is het tijd om automatisch geïnformeerd te worden over het weer. Dit doen we door push-notificaties via de populaire app Telegram. De bedoeling is dat we de volgende meldingen ontvangen:
- Om 22.00 uur een korte weersverwachting voor de volgende dag
- Om 08.00 uur een uitgebreide weersverwachting
Benodigdheden
Weersverwachting volgende dag
Deze weersverwachting geeft een kort bericht met o.a. temperaturen, kans op zon/regen en wind. Op regel 2 kun je het tijdstip wijzigen. Op regel 5 wijzig zet je het IDX van de sensor “Verwachting morgen”. Sla dit script op via de interne editor van Domoticz als een dzVents script met trigger Timer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
return { on = { timer = { "at 22:00"}}, execute = function(dz) local myDevice = dz.devices(123) -- change this to the ID of your device or the name in quotes local toLog = true -- switch between true/false when you want/don't want an entry in logfile local email = false -- switch between true/false when you want/don't want to be Emailed local notify = true -- switch between true/false when you want/don't want a notification local myNotificationTable = {dz.NSS_TELEGRAM} local degree = '°' local notifyString = myDevice.text if toLog then dz.log(notifyString:gsub(degree," degrees"),dz.LOG_INFO) end if email then dz.email("Weerbericht morgen",notifyString,"emailAdres@provider.com") end if notify then dz.notify("Weerbericht morgen", notifyString, dz.PRIORITY_NORMAL,dz.SOUND_DEFAULT, "" , myNotificationTable ) end end } |
Zeer uitgebreide weersverwachting
Deze weersverwachting geeft een zeer uitgebreide verwachting voor de komende dagen. Op regel 2 kun je het tijdstip wijzigen. Op regel 5 wijzig zet je het IDX van de sensor “Verwachting uitgebreid”. Sla dit script op via de interne editor van Domoticz als een dzVents script met trigger Timer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
return { on = { timer = { "at 08:00"}}, execute = function(dz) local myDevice = dz.devices(169) -- change this to the ID of your device or the name in quotes local toLog = true -- switch between true/false when you want/don't want an entry in logfile local email = false -- switch between true/false when you want/don't want to be Emailed local notify = true -- switch between true/false when you want/don't want a notification local myNotificationTable = {dz.NSS_TELEGRAM} local degree = '°' local notifyString = myDevice.text if toLog then dz.log(notifyString:gsub(degree," degrees"),dz.LOG_INFO) end if email then dz.email("Weerbericht vandaag",notifyString,"emailAdres@provider.com") end if notify then dz.notify("Weerbericht vandaag", notifyString, dz.PRIORITY_NORMAL,dz.SOUND_DEFAULT, "" , myNotificationTable ) end end } |
Werkt redelijk, krijg in de ochtend het uitgebreide weer voor de helft en dan een of andere afkorting
Voorbeeld
Vooral vanmiddag zon, morgen enkele buien
Het wordt vandaag overal zonnig, maar aanvankelijk kan het regionaal nog bewolkt zijn en plaatselijk komen mistbanken voor. Maandag krijgen we tijdelijk te maken met vrij veel wind en vooral in het oosten en noordoosten maken &lsquo
Af en toe is de API van Buienradar niet helemaal goed, waardoor het uitgebreide weerbericht afgekapt wordt op de plek waar een ‘verkeerde’ apostrof gebruikt wordt.
Op regel 160 van het script van Deel 2 zijn nu 2 regels toegevoegd, hiermee zou het probleem verholpen moeten zijn.
Werkt niet, heb een telegram account, staat in domoticz levert ook berichten maar niet deze. Het bericht wordt wel naar het log gestuurd maar niet naar telegram. Graag uw oplossing.
Wat voor een foutmelding krijg je? Gebruik je een Raspberry of iets anders? Welke versie van Domoticz gebuik je? Heb je dzVents ingeschakeld bij Settings?
Version: 4.11074
Build Hash: b736cab34
Compile Date: 2019-08-07 11:01:53
dzVents Version: 2.4.27
Python Version: 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516]
Uptime: 3 Dagen, 5 Uren, 1 Minuten, 50 Seconden
Ja dzvents ingeschakeld, geen foutmelding gewoon geen telegram bericht wel een log vermelding, telegram werkend geïnstalleerd al maanden……
Wordt “Weerbericht vandaag” en “Weerbericht vandaag” wel juist weergegeven in de Domoticz text-device?
Debug info
2019-08-12 12:37:00.420 Status: dzVents: Info: —— Start internal script: weeruitgebreid:, trigger: at 12:37
2019-08-12 12:37:00.422 Status: dzVents: Debug: Processing device-adapter for Verwachting uitgebreid: Text device
2019-08-12 12:37:00.422 Status: dzVents: Info: De herfst lijkt begonnen
2019-08-12 12:37:00.422
2019-08-12 12:37:00.422 De komende week trekken een flink aantal storingen over het land. Hierdoor vallen elke dag wel buien. Ook ligt de temperatuur een stuk lager dan normaal. De herfst lijkt al vroeg zijn intrede te hebben gedaan.Vanmiddag 
2019-08-12 12:37:00.422 Status: dzVents: Info: —— Finished weeruitgebreid
2019-08-12 12:37:00.422 Status: dzVents: Debug: Commands sent to Domoticz:
2019-08-12 12:37:00.422 Status: dzVents: Debug: – SendNotification = Weerbericht vandaag#De herfst lijkt begonnen
2019-08-12 12:37:00.422
2019-08-12 12:37:00.422 De komende week trekken een flink aantal storingen over het land. Hierdoor vallen elke dag wel buien. Ook ligt de temperatuur een stuk lager dan normaal. De herfst lijkt al vroeg zijn intrede te hebben gedaan.Vanmiddag #0#pushover##http
2019-08-12 12:37:00.422 Status: dzVents: Debug: =====================================================
2019-08-12 12:37:00.423 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2019-08-12 12:37:00.455 Status: Notification: Weerbericht vandaag
2019-08-12 12:37:00.700 Status: dzVents: Debug: Dumping domoticz data to /home/pi/domoticz/scripts/dzVents/domoticzData.lua
Geen info voor telegram, pushover????? alle notificaties zijn uitgeschakeld alleen telegram is actief en werkt ook voor andere notificaties, dus??????
Hallo tonbor,
Eén vraagteken per vraag is voldoende (hoewel er eigenlijk helemaal geen vraag staat).
Waarschijnlijk heb je in jouw script iets van local myNotificationTable = {dz.NSS_PUSHOVER} staan. Probeer eens local myNotificationTable = {dz.NSS_TELEGRAM}
Hoi, Ik krijg de volgende melding in het log. De test van de Telegram bot werkt prima vanuit de settings pagina. Het weerbericht komt niet aan op mijn mobiel. Script lijkt het wel te doen.
2019-11-15 13:14:00.249 Status: dzVents: Info: —— Finished Bot telegram avond
2019-11-15 13:14:00.250 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2019-11-15 13:14:00.269 Status: Notification: Weerbericht morgen
2019-11-15 13:14:00.250 Error: dzVents: local netWork not open for dzVents openURL call !
2019-11-15 13:14:00.250 Error: dzVents: check dzVents wiki (look for ‘Using dzVents with Domoticz’)
Heb je 127.0.0.1 toegevoegd bij local networks?
Hier staat overigens een nieuw, uitgebreider script: https://domoticaboard.nl/index.php?topic=42.0
Nee, dat had ik niet. Ga ik meteen even doen en even kijken naar je andere script.
Zou het dan zo simpel zijn 😉