Page 11 of 12

Re: Sv: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 08:55
by kloow
Japp, kör med port
4304 på owserver som jag anger.

Edit. Har även gjort manuella portöppningar i windows FW.

Kom på att jag inte har anget raspens IP (kör statiskt) adress i owfs.conf utan bara localhost.

Är den så kinkig?

Http tjänsten behöver det uppenbarligen inte.

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 10:43
by krambriw
Någon klok som kan se vad som kan vara galet..
Jag tog åt mig direkt :D

Använder du senaste versionen av ow?

Jag tror inte du har lyckats med att starta owserver korrekt, kanske owfs snor åt sig usb-devicet.

För att köra EG med min plugin används inte owfs, bara owserver. Om du inte har speciella skäl, skulle jag bara starta owserver och eventuellt owhttpd

Kan du klistra in dina konfigurationer från Raspberry Pi. Mina ser ut så här:

start1wire.sh

Code: Select all

#!/bin/bash

### BEGIN INIT INFO
# Provides:          start1wire
# Required-Start:    $local_fs $syslog
# Required-Stop:     $local_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start OWSERVER at boot time
# Description:       Start OWSERVER at boot time
### END INIT INFO

/opt/owfs/bin/owserver -c //home/owconfig.txt
/opt/owfs/bin/owhttpd -c //home/owconfig.txt
#/opt/owfs/bin/owfs -c //home/owconfig.txt
owconfig.txt

Code: Select all

HTTP: -p 9191
SERVER: -u 
SERVER: --usb_regulartime
SERVER: -p 4304
!SERVER: -s 4304
OWFS: -m /mnt/1wire

Jag inser att felhanteringen kan förbättras :oops:

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 12:23
by kloow
tydligt att du gjorde rätt i att ta åt dig :D

tog bort owfs ur mitt startscript, som jag ändå mest använde för kontroller av sensorer. (insåg att det är bättre att nyttja http för det)

startade om pi och kollade så att owfs inte fanns med i pid listan.

Sen rullade ditt eminenta EG script igång utan tjafs. Gjorde några tester och funkar hur bra som helst att läsa från sensorerna.

Ikväll blir det att läsa på lite mer om EG så att jag kan få in allt i Switchking samt testa lite med I/O kortet. (risk för att det inte är sista gången som jag postar här .....)

Stort tack för hjälpen !!!

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 15:34
by gus
Har ett gäng i/o kretsar ds2406 som jag har till div bl.a. att kolla status på lås. Dessa har jag satt upp med readfunktionen att pollas varannan sekund. Jag får nu lite märkligheter med en del av dessa, fast deras status inte ändrats kommer det in event på deras nuvarande status runt 4-5 ggr per dag. Någon som märkt av detta, eller kan det vara mitt 1-Wire nät som är skakigt? Går ju att komma förbi detta i ett skript men vore ju bättre om det gick att lösa innan.

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 16:02
by krambriw
Kanske låset som glappar? Har det blåst mycket, rör sig dörrbladet eller kolven så att eventuell mikrobrytare löser? Transienter pga åska?

Svårt att säga rakt upp och ner. Vad använder du för komponenter i hela kedjan?

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 17:13
by gus
Ja, känns som om det är något med mitt system och inte programmässigt. Kanske skall låna hem en logikanalysator från jobbet, vore intressant att se om det är glitchar eller inte då mitt nät börjar bli ganska stort nu.

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 19:51
by krambriw
Jag tror nog inte att det är kommunikation som spökar i sig själv, förhoppningsvis är väl protokollet hyfsat stabilt. Det kanske är ingångarna som är för känsliga?

mvh

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Mon 05 Aug 2013, 20:10
by krambriw
Som ni såklart redan vet finns det ju flera sätt att hämta (läsa) datat. Jag själv var intresserad av att läsa av ett antal sensorer via owservern en gång per minut. Detta hade jag ju självklart kunnat lösa med en timer i EG som triggar ett makro en gång i minuten. Ett annat sätt, det jag valde, var att definiera ett cronjobb direkt i Raspberryn som en gång i minuten kör ett python skript som läser sensorvärdena och sedan skickar dom vidare ut på mitt nätverk där EG (eller andra klienter) kan fånga in dom.

Fördelen är att man inte behöver belasta EG med dylikt trams. Dessutom skulle det vara relativt enkelt att lägga till andra funktioner i skriptet, tex att värden bara skickas vidare om de förändrats sedan förra gången, filter av olika slag tex värdet skall vara lika x läsningar i rad innan de skickas vidare, medelvärdesberäkningar mm

Dessutom tror jag (utan att ha provat) att man skulle kunna ha betydligt högre pollningsfrekvens om pollningen utförs lokalt i Raspberryn själv än om man pollar över nätverket.

Här är min lösning som exempel:

Python skriptet 'ow_read.py' som jag la i /Home/Pi:

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.10.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 = 'Measurements: '
payload = []

for i in range(5):
    try:
        if i > 0:
            time.sleep(1.0) 
        p = os.popen('/opt/owfs/bin/owread -s localhost:4304 28.AC2A95040000/temperature')
        res = p.read()
        payload.append(float(str(res).strip()))
        break
    except IOError:
        if (i == 4):
            payload.append('IOError')
            time.sleep(1.0) 
            break

for i in range(5):
    try:
        if i > 0:
            time.sleep(1.0) 
        p = os.popen('/opt/owfs/bin/owread -s localhost:4304 20.5FDC0C000000/volt.A')
        res = p.read()
        payload.append(float(str(res).strip()))
        break
    except IOError:
        if (i == 4):
            payload.append('IOError')
            time.sleep(1.0) 
            break

for i in range(5):
    try:
        if i > 0:
            time.sleep(1.0) 
        p = os.popen('/opt/owfs/bin/owread -s localhost:4304 20.5FDC0C000000/volt.B')
        res = p.read()
        payload.append(float(str(res).strip()))
        break
    except IOError:
        if (i == 4):
            payload.append('IOError')
            time.sleep(1.0) 
            break

for i in range(5):
    try:
        if i > 0:
            time.sleep(1.0) 
        p = os.popen('/opt/owfs/bin/owread -s localhost:4304 20.09F40C000000/volt.B')
        res = p.read()
        payload.append(float(str(res).strip()))
        break
    except IOError:
        if (i == 4):
            payload.append('IOError')
            time.sleep(1.0) 
            break

for i in range(5):
    try:
        if i > 0:
            time.sleep(1.0) 
        p = os.popen('/opt/owfs/bin/owread -s localhost:4304 20.09F40C000000/volt.A')
        res = p.read()
        payload.append(float(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()
Konfigurationen av cronjobs (sudo crontab -e):
Image2.gif

Re: Sv: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Tue 06 Aug 2013, 09:58
by gus
Det är det här som jag tycker om med denna uppsättning, man kan sätta upp det på olika sätt beroende på vad man vill uppnå! Själv uppskattar jag just nu enkelheten att ha allt via EG.

Har precis sparkat igång en räknar krets som loggar min elmätare. Nyttjar EG att räkna ut momentanvärdet som sedan skickas till SK.

Skickat från min GT-I9100 via Tapatalk 2

Re: SwitchKing + EventGhost + Rasberry + OneWire

Posted: Tue 06 Aug 2013, 13:26
by krambriw
Det här blir ju bara bättre och bättre...