Hej.
Jag skulle vilja skicka en temperatur ifrån min sensor till min interna hemsida genom eventghost.
Har haft en "guide" att följa, men får det ändå inte att fungera.
"1) Få Tellstick Dou (svårt att få tyvärr), och en kompatibel temperaturgivare
(Listan över enheter som stöds i Telldus hemsida)
2) Installera Telldus Duo plugin i Eventghost
3) Ta ID temperaturgivaren i “aktivitetslistan” inom Eventghost
4) Skapa ett nytt makro baserad på händelsen (t ex. “TellstickDuo.fineoffset.temeraturehumidity.213.Temperature:”)
5) Lägg till ett Phytom Script till makrot med följande skript:
——
p = eg.event.payload
p = p.split(‘|')
outtemp213 = p[0]
eg.globals.outtemp213 = outtemp213
# skriva ut outtemp213
——
(sista raden är för felsökning,
namnge vilka parametrar som 213 kommer att se till ha flera givare,
inget fel hantering om givare försvinner ingår)
6) i index.html – header-hgroup sektionen lägger:
Min Street 1
Utetemperatur: {{eg.globals.outtemp213}} °C
7) njuta
Om du vill att sidan ska alltid vara uppdaterad överväga att använda:
9) Och om du har flera sensorer för fukt och teperature etc. Du kan alltid göra en “Fliken Väder” med alla värden.
Jag kan dela en om någon behöver det för att få inspiration
För att lägga till information om när temp uppdaterades överväga folloing uppdatering av phyton skriptet:
importera datetime
Nu = datetime.datetime.now()
outtemp213time = now.strftime(“%Y-% m-% d% H:%M”)
eg.globals.outtemp213time = outtemp213time
och följande tillägg till html:
({{eg.globals.outtemp213time}})"
Får upp temperaturen i eventghost som updaterar ca varje minut, och har ändrat id till 171 som är mitt id för sensor.
På hemsidan så får jag inte upp någon data, vet någon vad felet är?
I eventghost så har jag skapat en händelse, sedan till den kopplat pytonsciptet i samma träd.
Skicka signaler ifrån sensor via eventghost till hemsida.
Moderator: Telldus
-
- Posts: 14
- Joined: Fri Mar 17, 2023 9:45 am
Re: Skicka signaler ifrån sensor via eventghost till hemsida
Hej hej !
Jag har löst det genom att EvenGhost sparar värdena till en SQL-databas med ett pythonscript.
Sedan hämtar en fristående ASP.net-sida värdena ifrån SQL-servern och presenterar det med Google Charts (https://developers.google.com/chart/)
///Mats
Jag har löst det genom att EvenGhost sparar värdena till en SQL-databas med ett pythonscript.
Sedan hämtar en fristående ASP.net-sida värdena ifrån SQL-servern och presenterar det med Google Charts (https://developers.google.com/chart/)
///Mats
Re: Skicka signaler ifrån sensor via eventghost till hemsida
Hej
Jag skulle gärna vilja veta hur phyton scriptet ser som du har för att skicka värden till sql-databas.
Det är exakt det jag söker
Kenneth
Jag skulle gärna vilja veta hur phyton scriptet ser som du har för att skicka värden till sql-databas.
Det är exakt det jag söker
Kenneth
Re: Skicka signaler ifrån sensor via eventghost till hemsida
Låter mycket intressant!
Re: Skicka signaler ifrån sensor via eventghost till hemsida
Ojojoj, ber om ursäkt !
Har inte varit så aktiv här, ska nog aktivera nån sorts mail-påminnelse när någon svarar
Så här ser mitt lilla script ut.
"19:28:03 RFXtrx.Type: THGN122/123, THGN132, THGR122/228/238/268 id: 56833 ' temperature: +14.4 deg C humidity: 92 %RH status: wet signal: 6 battery: 9'"
Därför jag använder string.find för att leta på lämliga värden
Nu var det några månader sen jag skrev detta men har för mig att pyodbc är ett tillägg till Python, var tvungen att installera Python på min server (Windows Server 2008) och lägga till tillägget där.
Fråga gärna mer, ska försöka vara snabbare att svara
Har inte varit så aktiv här, ska nog aktivera nån sorts mail-påminnelse när någon svarar
Så här ser mitt lilla script ut.
Det jag får ifrån eg.event.payload och hamnar i Text-variabeln är nått liknandeimport string
import pyodbc
import datetime
Text = eg.event.payload
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=SERVERNAMN\RFXTRX;DATABASE=EventGhost;UID=sa;PWD=XXXXX')
cursor = cnxn.cursor()
cursor.execute("SELECT MAX(UniqeID) as UnID from TempHumidity")
for row in cursor:
UID = row.UnID +1
GivareID = 1
Temp = Text[string.find(Text,'temperature')+13:string.find(Text,'deg C')-1]
Humidity = Text[string.find(Text,'humidity')+10:string.find(Text,'RH status')-2]
Status = Text[string.find(Text,'status')+8:string.find(Text,'signal')-1]
Signal = Text[string.find(Text,'signal')+8:string.find(Text,'battery')-1]
Battery = Text[string.find(Text,'battery')+9:len(Text)]
Datum = datetime.datetime.now()
TidDatum = Datum
cursor.execute("INSERT INTO TempHumidity(UniqeID, GivareID, Temp, Humidity, Status, Signal, Battery, TidDatum) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", UID, GivareID, Temp, Humidity, Status, Signal, Battery, TidDatum)
cnxn.commit()
cnxn.close
del cnxn
"19:28:03 RFXtrx.Type: THGN122/123, THGN132, THGR122/228/238/268 id: 56833 ' temperature: +14.4 deg C humidity: 92 %RH status: wet signal: 6 battery: 9'"
Därför jag använder string.find för att leta på lämliga värden
Nu var det några månader sen jag skrev detta men har för mig att pyodbc är ett tillägg till Python, var tvungen att installera Python på min server (Windows Server 2008) och lägga till tillägget där.
Fråga gärna mer, ska försöka vara snabbare att svara