LJ80 schreef op woensdag 8 april 2020 @ 22:54:
Wie kan mij helpen na uren proberen, kom ik niet uit een telegram snapshot script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #!/bin/sh
##############################################################################
bot_id="xxxxxxxxxxxxx"
api_key="xxxxxxxxxxxxx"
chat_id="-xxxxxxxxxxxxx"
action="sendMessage"
##############################################################################
SnapFile="/tmp/camsnapshot.jpg"
# Get snapshot via Domoticz server
wget -O $SnapFile "http://login:password@192.168.1.xx:8080/camsnapshot.jpg?idx=1"
# Send Telegram message with image
curl -s -X POST "https://api.telegram.org/$bot_id:$api_key/$action?chat_id=$chat_id&text=Er is zojuist aangebeld!"
curl -s -X POST "https://api.telegram.org/$bot_id:$api_key/sendPhoto" -F chat_id=$chat_id -F photo="@$SnapFile"
# Remove Image
/bin/rm /tmp/camsnapshot.jpg |
In het log van domoticz zie ik dit:
code:
1
2
3
| 2020-04-08 22:49:57.596 Status: User: Admin initiated a switch command (22/Deurbel/On)
2020-04-08 22:49:57.817 Status: Executing script: /home/pi/domoticz/scripts/deurbel.sh
2020-04-08 22:49:59.425 Status: Incoming connection from: 192.168.1.xx |
Als ik het script via ssh handmatig uitvoer zie ik dit:
code:
1
2
3
4
5
6
7
8
9
10
11
| --2020-04-08 22:35:21-- http://admin:*password*@192.168.x.xx:8080/camsnapshot.jpg?idx=1
Connecting to 192.168.1.xx:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 466155 (455K) [image/jpeg]
Saving to: ‘/tmp/camsnapshot.jpg’
/tmp/camsnapshot.jpg 100%[========================================================================================================================================>] 455.23K --.-KB/s in 0.04s
2020-04-08 22:35:23 (10.8 MB/s) - ‘/tmp/camsnapshot.jpg’ saved [466155/466155]
{"ok":false,"error_code":404,"description":"Not Found"}{"ok":false,"error_code":404,"description": |
Dus hier gaat iets mis :
{"ok":false,"error_code":404,"description":"Not Found"}{"ok":false,"error_code":404,"description":
Gebruik vrijwel het zelfde script, alleen gebruik ik de url van de camera zelf ipv via Domoticz, lijkt iets sneller te gaan vind ik. Maar dat kan mijn gevoel zijn.
Eerste stap is met welk programma heb je het scriptbestand aangemaakt. Als je dit bv met Wordpad hebt aangemaakt dan komen er onzichtbaar /n teken in en dan krijg je fouten.
Maak het script dan opnieuw aan zodat je zeker weet dat deze er niet meer in staan met bv Notepad++ of met Putty --> vi commando.
En voor de zekerheid, je originele Chat-ID begint niet met een - zoals je nu als voorbeeld wel hebt ingevuld/
Zet eens een
# voor
/bin/rm /tmp/camsnapshot.jpg zodat de foto die gemaakt wordt niet direct weer wordt verwijderd.
Voer het script uit en kijk of je dan in /tmp een foto te zien krijgt. Dan weet je dat dat deel dus goed gaat. Staat er geen foto dan is of je link van de camera niet correct of rechten probleem.
Verwijder daarna bij aanwezigheid de foto weer.
Als dat goed gaat dan gaat het dus fout in Telegram. Je hebt dan of een typefout gemaakt in een van de keys of ergens een foutje gemaakt tijdens aanmaken van de bot. Je zal dan nogmaals de stappen moeten doorlopen om mogelijk de fout te ontdekken ben ik bang.
Update:
Het script doet wat het moet doen maar helaas nog voldoende voor mij nog.
1. Script check elke minuut of de deur dicht is en past de temp dan bij een afwijking aan naar 19 graden. Niet handig want als je de kachel dus iets hoger wil zetten wordt dit na max 1 minuut weer teruggezet.
Zou ik kunnen oplossen met een extra variabele die ik laat schakelen als de deur open/dicht gaat waardoor hij dus de aanpassing alleen maar uitvoert als de deur open is geweest. Maar moet nog iets beter verzinnen.
2. Omdat het een slimme thermostaat is bepaald hij zelf wanneer de CV in de ochtend aan moet gaan om te zorgen dat het om een bepaalde tijd ook de behaalde temp heeft.
3. CV schakelt hier om 22.30 uit naar 15 graden tot de volgende ochtend. Nu dus niet meer en heeft de hele nacht alles lekker warm gehouden omdat het script dus elke minuut weer de CV checkt en dus weer op 19 graden zet.
4. Voordat de temp wordt gewijzigd door het script moet hij eerst de oude waarde opslaan. Als dat niet wordt gedaan wordt je dus contant geconfronteerd met een CV die niet warmer gezet kan worden dan de 19 graden. Als de deur weer dicht is moet hij deze oude waarde uitlezen en opnieuw instellen.
Kortom nog aardig wat werk aan de winkel voor je dit goed kunt inzetten in bepaalde situaties. Eerst maar eens nadenken of dit wel goed kan gaan werken.
[
Voor 16% gewijzigd door
MikeOO op 11-04-2020 08:58
]