Jag kan köra ow_read.py med lite moddade adresser och får det till EG.
Skulle vara tacksam om någon kunde hjälpa mig att modda bifogad kodsnutt så den bara skickar iväg en payload när värdet är ändrat.
Code: Select all
#!/usr/bin/env python
# This script sends the measured light and temperature.
# To edit the list of cronjobs: sudo crontab -e
import time
import os
import sys
import socket
zone = '192.168.17.255'
port = 33334
addr = (zone, port)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # Create socket
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.settimeout(2.0)
eventString = 'PIR TV: '
payload = []
for i in range(5):
try:
if i > 0:
time.sleep(1.0)
p = os.popen('/opt/owfs/bin/owread -s localhost:3001 3A.05400D000000/sensed.A')
res = p.read()
payload.append(str(res).strip())
break
except IOError:
if (i == 4):
payload.append('IOError')
time.sleep(1.0)
break
sock.sendto(eventString + '&&' + str(payload), addr)
sock.close()