In mijn meterkast heb ik een raspberry pi 3 liggen waar ik domoticz op heb staan. ik wil met een python script file informatie en temperatuur naar mezelf mailen vlak voor dat ik naar mijn werk vertrek.
ik had een proof of consept werkend. (Ik heb nooit eerder een Python script gemaakt en dit is een oefen project) Het was mogelijk om de temperatuur van van domoticz te krijgen door het op vragen van een json.
Door een stroom storing veranderde mijn ip-adres. Dat is natuurlijk niet handig, dus heb ik geprobeerd het ipadres vast te zetten met de instructies van de volgende site:
http://raspberrypi.stacke...ng-wifi-static-ip-address
Dat lijkt gelukt te zijn ik heb nu het ip-adres dat ik heb uit gekozen. Vanaf andere apparaten kan ik domoticz ook weer bereiken op het juiste ip adres. als ik ping naar dat ip adress vanaf de rpi dan gaat dat goed
maar als ik het script nu uitvoer krijg ik het volgende:
de code van het script waar het fout gaat is:
Omdat de code voor de stroomstoring en het vast zetten van het ip adres wel werkte zit het probleem waarschijnlijk niet in de code. Maar python doet schijnbaar iets anders dan de andere apparaten en ik hoop dat iemand hier mij kan vertellen waar ik het beste kan gaan zoeken.
ik had een proof of consept werkend. (Ik heb nooit eerder een Python script gemaakt en dit is een oefen project) Het was mogelijk om de temperatuur van van domoticz te krijgen door het op vragen van een json.
Door een stroom storing veranderde mijn ip-adres. Dat is natuurlijk niet handig, dus heb ik geprobeerd het ipadres vast te zetten met de instructies van de volgende site:
http://raspberrypi.stacke...ng-wifi-static-ip-address
Dat lijkt gelukt te zijn ik heb nu het ip-adres dat ik heb uit gekozen. Vanaf andere apparaten kan ik domoticz ook weer bereiken op het juiste ip adres. als ik ping naar dat ip adress vanaf de rpi dan gaat dat goed
code:
1
2
3
4
| pi@DomoticzServer:~/sendinfo $ sudo ping 192.168.2.11 PING 192.168.2.11 (192.168.2.11) 56(84) bytes of data. 64 bytes from 192.168.2.11: icmp_seq=1 ttl=64 time=0.224 ms 64 bytes from 192.168.2.11: icmp_seq=2 ttl=64 time=0.103 ms |
maar als ik het script nu uitvoer krijg ik het volgende:
code:
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
| pi@DomoticzServer:~/sendinfo $ python main.py Traceback (most recent call last): File "main.py", line 8, in <module> print info.getTemp("temp+vochtigheid") File "/home/pi/sendinfo/DomoInfo.py", line 16, in getTemp return self.getValue(fromDevice, "Temp") + "°C" File "/home/pi/sendinfo/DomoInfo.py", line 32, in getValue data = self.raw() File "/home/pi/sendinfo/DomoInfo.py", line 40, in raw response = urllib.urlopen(getUrl) File "/usr/lib/python2.7/urllib.py", line 87, in urlopen return opener.open(url) File "/usr/lib/python2.7/urllib.py", line 213, in open return getattr(self, name)(url) File "/usr/lib/python2.7/urllib.py", line 350, in open_http h.endheaders(data) File "/usr/lib/python2.7/httplib.py", line 1035, in endheaders self._send_output(message_body) File "/usr/lib/python2.7/httplib.py", line 879, in _send_output self.send(msg) File "/usr/lib/python2.7/httplib.py", line 841, in send self.connect() File "/usr/lib/python2.7/httplib.py", line 822, in connect self.timeout, self.source_address) File "/usr/lib/python2.7/socket.py", line 571, in create_connection raise err IOError: [Errno socket error] [Errno 113] No route to host |
de code van het script waar het fout gaat is:
Python:
1
2
3
4
5
| #!/usr/bin/python import urllib, json response = urllib.urlopen("http://192.168.2.11:8080/json.htm?type=devices&used=true&filter=all") |
Omdat de code voor de stroomstoring en het vast zetten van het ip adres wel werkte zit het probleem waarschijnlijk niet in de code. Maar python doet schijnbaar iets anders dan de andere apparaten en ik hoop dat iemand hier mij kan vertellen waar ik het beste kan gaan zoeken.