Sida 1 av 2

hämta temperatur från vera edge

Postat: 27 dec 2015, 14:17
av engberg
Jag sitter och snidar på en hemsida, som jag vill ska hämta temperatur från från min vera och mina sensorer. Kan man det ?

Re: hämta temperatur från vera edge

Postat: 05 jan 2016, 11:29
av CDK2H
Jao det bör väl gå men det är inte helt säkert det är enkelt. Titta på den här hemsidan han verkar ju kunna... Dock kör han kanske 1wire men det bör inte spela någon roll; http://karlander.net/temperatur/index.php

Re: hämta temperatur från vera edge

Postat: 05 jan 2016, 18:03
av engberg
Hittar ingen info om det är möjligt.


Skickat från min SM-G900F via Tapatalk

Re: hämta temperatur från vera edge

Postat: 06 jan 2016, 22:02
av CDK2H
engberg skrev:Hittar ingen info om det är möjligt.


Skickat från min SM-G900F via Tapatalk

Titta här: http://www.dreamgreenhouse.com/reviews/ ... /index.php och gå ner till Data Logging:
We have configured a scene called '1min' on the VeraLite, which is scheduled to run every 60 seconds. This scene uses has the following Luup code to send temperatures to our Home Control System (HCS) using socket layer comms:
local socket = require("socket")
host = "192.168.x.x"

local sensor = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 18)
c = assert(socket.connect(host, xxxx))
c:send("Zwave,Airing Cupboard,Airing Cupboard Temp," .. sensor)
c:close()

local sensor = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 19)
c = assert(socket.connect(host, xxxx))
c:send("Zwave,Airing Cupboard,Water Tank Top Temp," .. sensor)
c:close()

local sensor = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 20)
c = assert(socket.connect(host, xxxx))
c:send("Zwave,Airing Cupboard,Water Tank Bottom Temp," .. sensor)
c:close()

local sensor = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 21)
c = assert(socket.connect(host, xxxx))
c:send("Zwave,Airing Cupboard,Water Tank Middle Temp," .. sensor)
c:close()

The Home Control System (HCS) receives these messages and if the values have changed, it logs them in our HCS log. These can then be processed at a later date to generate graphs and are also used in our HCS web interface, to generate dynamic graphs.
Kan det vara något att tillämpa för att dra ut data?

Annars håller jag på att installera DataMining som är en App till VeraEdge. Så här skriver de själva om sin DataMining app:
dataMine 2 is a derivative work that builds on the excellent dataMine system for logging variables. It adds the ability to aggregate data over various time periods, provides access to the system over a remote connection and now has a new data source compatible with Google charts. As this version uses the same web locations as dataMine 1, you will need to uninstall it for version 2 to work - all your data and configuration is shared and will be retained.
edit: Förstår inte riktigt hur datamining appen funkar, och jag får inte ut några grafer, men tänker ger den ett tag tills den har lite data insamlat möjligtvis och se om det börjar poppa upp :)

Re: hämta temperatur från vera edge

Postat: 11 jan 2016, 21:48
av tunis
Du har lite dokumentation i wikin
http://wiki.micasaverde.com/index.php/Luup_Requests

Denna kod får du temperaturen från en sensor, i detta fall device 77

Kod: Markera allt

http://IP to vera:3480/data_request?id=variableget&DeviceNum=77&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature

Re: hämta temperatur från vera edge

Postat: 13 jan 2016, 19:12
av selstam
Du kan hämta status genom att anropa följande URL:

http://<ipadress på veran>:3480/data_request?id=sdata&output_format=json

Då får du upp temperatursensorer som typ:

{
name: "Hall",
altid: "m1",
id: 33,
category: 17,
subcategory: 0,
room: 3,
parent: 32,
temperature: "20.7"
},

Har lite c#-kod som plockar ut info från Veran om någon är intresserad.

Re: hämta temperatur från vera edge

Postat: 24 jan 2016, 00:47
av engberg
tunis skrev:Du har lite dokumentation i wikin
http://wiki.micasaverde.com/index.php/Luup_Requests

Denna kod får du temperaturen från en sensor, i detta fall device 77

Kod: Markera allt

http://IP to vera:3480/data_request?id=variableget&DeviceNum=77&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature

Tackar !

Re: hämta temperatur från vera edge

Postat: 07 jun 2016, 17:45
av palaxel
Hallå,

Funderar om det inte borde gå att skapa en scene i Vera som rullar var x:te minut som med hjälp av Luup Code skickar direkt till temperatur.nu utan att behöva ha en lokal skriptserver.

Tror ni att det är en framkomlig väg?

Re: hämta temperatur från vera edge

Postat: 07 jun 2016, 19:52
av engberg
Vet inte. Men löste det med en raspberry pi som plockar tempen var 3de min från veran :)

Skickat från min SM-G930F via Tapatalk

Re: hämta temperatur från vera edge

Postat: 10 jun 2016, 20:09
av selstam
engberg skrev:Vet inte. Men löste det med en raspberry pi som plockar tempen var 3de min från veran :)
Samma här! :) Har ändå en Raspberry Pi som håller i mitt 1-wire-nät ... :D

Re: hämta temperatur från vera edge

Postat: 15 jun 2016, 20:13
av palaxel
Har ni något shellscript eller liknande som gör hämtningen? Ni får gärna dela med er. Jag vill kunna börja rapportera tid igen till temperatur.nu.

Re: hämta temperatur från vera edge

Postat: 15 jun 2016, 21:37
av engberg
palaxel skrev:Har ni något shellscript eller liknande som gör hämtningen? Ni får gärna dela med er. Jag vill kunna börja rapportera tid igen till temperatur.nu.
Jag skriver ihop nått imorgon om jag får tid..

Men kortfattat

En raspberry pi med webbserver.
En sida i php som visar tempen
Tempen får man ut härifrån :
(ändra devicenum till din givare. Min är 77. Och ändra ip)

http://IP to vera:3480/data_request?id=variableget&DeviceNum=77&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature

Ett cronjob som sparar resultatet i en textfil (skrivs över varje gång) var 3e minut.

Hojta till om du vill ha mer hjälp.
Och det finns kanske andra sätt, som är bättre :)

Skickat från min SM-G930F via Tapatalk

Re: hämta temperatur från vera edge

Postat: 15 jun 2016, 22:33
av palaxel
Med lite Python på sin Raspberry Pi plockar man lätt ut temeperaturen med följande kod. Nästa steg är bara att göra ett anrop till temperatur.nu.

import urllib
url = "http://IP to vera:3480/data_request?id=variableget&DeviceNum=77&serviceId=urn:upnporg:serviceId:TemperatureSensor1&Variable=CurrentTemperature"
response = urllib.urlopen(url).read()

Det är nog den vägen jag försöker.

Re: hämta temperatur från vera edge

Postat: 15 jun 2016, 23:45
av palaxel
Här är en pythonkod som jag testat på min egen dator. Lite informationsutskrifter för att se hur det går men ingen felhantering.

Saker man måste ändra:
- IP-to-Vera: Ersätt med din lokala IP-adress för din Vera här.
- ID-on-Vera: Ersätt med device # för din temperaturgivare, öpnna aktuell mätare i Vera och välj Advanced för att se device #.
- MIN_HASH: Ersätt med din unika hash för att rapportera till temperatur.nu.

import socket
import urllib.request
import urllib.parse
timeout = 20
socket.setdefaulttimeout(timeout)
req = urllib.request.Request('http://IP-to-Vera:3480/data_request?id= ... emperature')
response = urllib.request.urlopen(req)
temperature = response.read()
print(temperature)

data = {}
data['t'] = temperature
data['hash'] = 'MIN_HASH'
url_values = urllib.parse.urlencode(data)
print(url_values)
url = 'http://www.temperatur.nu/rapportera.php'
full_url = url + '?' + url_values
print(full_url)
response = urllib.request.urlopen(full_url)
resultat = response.read()
print(resultat)

Det borde gå att fixa till så att man kan läsa med Netatmo API så att man slipper gå över Veran.

Re: hämta temperatur från vera edge

Postat: 01 feb 2017, 05:37
av DariBer
palaxel skrev:Här är en pythonkod som jag testat på min egen dator. Lite informationsutskrifter för att se hur det går men ingen felhantering.

Saker man måste ändra:
- IP-to-Vera: Ersätt med din lokala IP-adress för din Vera här.
- ID-on-Vera: Ersätt med device # för din temperaturgivare, öpnna aktuell mätare i Vera och välj Advanced för att se device #.
- MIN_HASH: Ersätt med din unika hash för att rapportera till temperatur.nu.
Ursäkta min phyton okunnighet. Phytonscriptet du visade här, vad ska filens ändelse vara, är det .py, typ temperatur.py?
Hur är kommandot att köra scriptet? Måste jag lägga till typ "#!/usr/bin/env python" i början av scriptet, sedan bara att göra det executable?

Skapa ett cronjob som kör scriptet var 3min från Linux/Raspberry Pien?