
Tyckte att den tidigare versionen var för slö trots att jag gjort vad jag kunnat för att optimera koden. Gjorde ett försök med att slänga ut jQuery Mobile och då gick det genast mycket bättre. I den nya versionen har jag tagit inspiration från Windows Phone 7. Jag har dock skippat allt med Metro och kör bara på en svart bakgrund och knappar med vit ram. Jag tycker att det ser bättre ut när det är minimalistiskt men det viktigaste är endå att den nya versionen är sjukt mycket snabbare än den gamla.
Koden får du från https://bitbucket.org/sebnil/eventghost-web-gui/get/tip.zip.
Instruktioner för att sätta upp allt
Några förbättringar:
- Rensade bort all seg kod från jQuery Mobile. Less is more!
- Endast 4 http request per sidvisning. Toksnabba sidvisningar är resultatet.
- Ingen onödig javascript. Tog bort ganska mycket av min egen kod.
- Lättare html. jQuery Mobile gjorde många enkla saker svåra. I den nya versionen så borde en nybörjare inom html-programmering kunna lista ut hur man ska göra egna gränssnitt. Det är i alla fall min förhoppning.
Youtube-video:



Mycket enkelt att genomföra. Stora Arbete och Thanx!!
Så jag tänkte jag skulle beskriva hur jag förlängde utmärkt lösning lite mer med hjälp av en Tellstick Duo och en trådlös temperatursensor:
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
8) 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 det inte riktigt att fungerar så det synkar mot eventghost har skrivit till det med texten:
Street 1
Utetemperatur: {{eg.globals.outtemp213}} °C
Dock så kommer bara texten upp men inga faktiskt data.
Hej!
Glad att höra att någon använder koden
1) Kan du skicka din fullständiga phyton manus för evenemanget?
2) Tills händelsen har utlösts, värdena är tom. Har du, i Eventghost, konstateras att Macro utlöstes?
3) avlägsna # vid slutet av den phytonscript så står det:
skriva ut outtemp213
Detta kommer att visa värdet på den vänstra sidan av Eventghost varje gång den startas. Bra för felsökning.
4) Lycka till! och gärna kommentera igen om det inte fungerar!
Beklagar det sega svaret har haft fullt upp med andra saker.
1. Hittar sensorn i Telldus center har id 230 och model 1A2D.
2. I eventghost så updateras värden med jämna mellanrum, ibland ofta och ibland inte lika ofta det står. ”TellStickDuo.oregon.1A2D.230.Temperature: ’23.5|2012-10-15 22:44:03′”
So far så good..
3.Mitt Python script är följande:
p = eg.event.payload
p = p.split(‘|’)
outtemp230 = p[0]
eg.globals.outtemp230 = outtemp230
skriva ut outtemp230
importera datetime
Nu = datetime.datetime.now()
outtemp230time = now.strftime(“%Y-% m-% d% H:%M”)
eg.globals.outtemp230time = outtemp230time
4. När har skrivit sciptet och trycker och får jag upp varningen:
Error compiling script.
Traceback (most recent call last):
SyntaxError: invalid syntax (10, line 2)
5. Det är där det inte fungerar, har följt din guide och skulle jag kunna få upp detta på hemsidan så skulle det vara underbart att kunna övervaka inomhus tempen när man inte är hemma.
6. Texten på hemsidan:
Eventghost Web Gui
hemskärm
Min Street 1
Utetemperatur:{{eg.globals.outtemp230}} °C
Tacksam om du kan lösa detta!
Hur man lägger online-data från GöteborgEnergi:
1) tillsätt timer insticksmodulen
2) Set up TIMER
inte utmärkt lösning:
2en) Skapa Macro: Timern: Starta nytt eller kontroll körs timer
Starta ny eller kontroll körs timer
Ställ in den till: varje minut
Name it: EveryMinuteTrigger
2b) Manuellt starta makrot (Tyvärr)
3) Skapa ett makro baserat på avtryckaren:
Timer.EveryMinuteTrigger
4) Lägg phyton skript Macro::
Import urllib2
från xml.dom.minidom import parseString
file = urllib2.urlopen("Http://www.goteborgenergi.se / lib / Energi Visa / Rss.ashx?MeasureId = 2755&Skriv = Ström&Bilder = False ')
data = file.read()
file.close()
dom = parseString(data som)
xmlTag = dom.getElementsByTagName("Beskrivning")[1].toxml()
xmlData = xmlTag.replace(”,”).ersätta(”,”)
# skriva ut xmlTag
# skriva ut xmlData
eg.globals.GbgEnergiLight = xmlData
5) Skapa en liknande makro baserad på varje minut avtryckaren och lägga phyton skript:
Import urllib2
från xml.dom.minidom import parseString
file = urllib2.urlopen("Http://www.goteborgenergi.se / lib / Energi Visa / Rss.ashx?MeasureId = 2732&Skriv = Ström&Bilder = False ')
data = file.read()
file.close()
dom = parseString(data som)
xmlTag = dom.getElementsByTagName("Beskrivning")[1].toxml()
xmlData = xmlTag.replace(”,”).ersätta(”,”)
# skriva ut xmlTag
# skriva ut xmlData
eg.globals.GbgEnergiWind = xmlData
6) Lägg till HTML:
Ljusinstrålning: {{eg.globals.GbgEnergiLight}}
Vindstyrka: {{eg.globals.GbgEnergiWind}}
Jag måste bara få säga att jag gillar verkligen detta
Jag använder mig av ditt gui och jag är extremt nöjd.
Sedan så passar jag på att tacka Zupermik för inlägget om att få in tempen på sidan, underbart.
Tack!
Hej igen.
Om man vill lära sig att skriva phyton skript till eventghost, vart hittar man någon bra information om det ?
Vet du om någon bra sajt ?
Tack på förhand
Eventghosts forum är en bra start. Har för mig att de har några enkla exempel.
Hej,
Försöker lägga en annan lösning, men inlägget aldrig synlig på platsen. Förslag?
Part1::
Hälsningar!
Vill visa temperaturen mer grafiskt?
Ladda ner RGraph från http://www.rgraph.net/
Läs informationen osv regering användning.
De extraherade filerna i en undermapp till jour Webroot (t.ex.. C:\WebServerRoot RGraph)
I din html lägga koden nedan.
Njut!
//
//
//
//
//
//
uppladdning av kodexempel misslyckades,
sorry guys
Hej igen.
Detta med snygg graf var ju väldigt intressant
Kan du inte dela ut koden på något annat sätt ?
Tack på förhand
Förslag? Jag försökte till html koda, men bitarna inte skulle överföra… Jag antar att platsen motor läsa dem när det är kod och blockera dem som hacka försök
Part1:
<script src="js/script-and-config.js"></script>
<script src="/RGraph/libraries/RGraph.common.core.js" ></script>
<script src="/RGraph/libraries/RGraph.common.effects.js" ></script>
<script src="/RGraph/libraries/RGraph.common.dynamic.js" ></script>
<script src="/RGraph/libraries/RGraph.gauge.js" ></script>
<script>
window.onload = function ()
Part3:
</head>
<body>
<div class="one-third">
<div style="text-align: center">
<canvas id="cvs" width="250" height="250">[No canvas support]</canvas>
</div>
</div>
se del 2 nedan
Lycka till med skär & klistra
Detta är bara ett enkelt test – kan raderas av moderator!
== KOD ===
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-1.7.2.min.js">
</script>
Del 2:
{
var gauge = new RGraph.Gauge('cvs', -20, 30, {{eg.globals.outtemp123}});
gauge.Set('chart.colors.ranges', [[-20, 0, '#A0A0FF'], [0, 20, 'yellow'], [20, 30, '#FF8080']]);
gauge.Set('chart.centerpin.color', '#666');
gauge.Set('chart.title.top', 'Ute');
gauge.Set('chart.title.top.size', '22');
gauge.Set('chart.title.top.font', 'Impact');
gauge.Set('chart.title.top.color', 'white');
gauge.Set('chart.title.bottom.size', '14');
gauge.Set('chart.title.bottom.font', 'Impact');
gauge.Set('chart.title.bottom.color', '#ccc');
gauge.Set('chart.title.bottom', '°C');
gauge.Set('chart.title.bottom.pos', 0.4);
gauge.Set('chart.background.color', 'black');
gauge.Set('chart.background.gradient', true);
gauge.Set('chart.centerpin.color', '#666');
gauge.Set('chart.needle.colors', [RGraph.RadialGradient(gauge, 125, 125, 0, 125, 125, 25, 'transparent', 'white'),
RGraph.RadialGradient(gauge, 125, 125, 0, 125, 125, 25, 'transparent', '#d66')]);
gauge.Set('chart.needle.size', [null, 50]);
gauge.Set('chart.text.color', 'white');
gauge.Set('chart.tickmarks.big.color', 'white');
gauge.Set('chart.tickmarks.medium.color', 'white');
gauge.Set('chart.tickmarks.small.color', 'white');
gauge.Set('chart.border.outer', '#666');
gauge.Set('chart.border.inner', '#333');
}
</script>
Hur man lägger väder info längst ned på sidan…
(Inspirerad av andra Sebastian Nilsson-projektet)
Lägg till följande kod före sidfoten:
Den sista br är att skapa utrymme för den mobila upplevelsen
och koden: (nya försök)
<center><img src=http://www.yr.no/sted/Your Country/Your Län/Your Town/avansert_meteogram.png></center>
<center><br></center>
<center><br></center>
<center><br></center>
<center><br></center>
Hur man hittar url… Bläddra YR.No för din stad och
ersätta
”time_for_time.html”
till
”avansert_meteogram.png”
vid slutet av URL
Hej.
Tack för dina instruktioner

Jag har nu testat detta, men det enda jag får fram är png bilden från YR
Jag är inte så jätte hemma på html, jag har nog testat allt.
Inte finns det en möjlighet att du kan sätta ihop dina delar till en html kod som det ska se ut ?
Sen så ska jag nog kunna trolla fram resten.
Tack så mycket för din hjälp
Hej Kenneth,
Allt jag kan erbjuda är:
skicka din kod, zippade, Denna zupermik (vid) gmail (punkt) med
och jag ska försöka hjälpa dig (en gång erbjuder endast
) och jag kommer att jämföra det till mina grejer……
Min kod innehåller en hel del andra saker som kommer vara förvirrande för dig om jag skickar det.
Jag ska hjälpa dig på bästa möjliga sätt, inga garantier, och begränsad till min tillgänglighet…
OK?
Uppdatera här på din svara eftersom brevlådan inte övervakas.
Notera: ingen kurva kan betyda att det inte finns någon information… förvirrande men sant… 1:st sak att kontrollera
Klistra in koden på http://pastebin.com/ Om det inte visar korrekt i kommentarerna. Du har också rätt att punga koden på github om det skulle vara lättare.
Och tack för att förbättra koden
Hej alla,
såg att min kommentar översattes om du använder svenska (upptill). Använda engelska kommer att ge korrekta kommentarer.
Hej,
Såg att mina kommentarer blev fel om man satt svenska (inställning i toppen på denna sida). om ni väljer engelska kommer kommentarerna att vara med riktiga.
Jag har satt upp en webbserver i EventGhost med hjälp av dina instruktioner och filer och har fått det att funka hyfsat. Skitkul verkligen!
Jag kan nu tända och släcka lampor och visa temperatur i min Androidtelefon och i mina datorer i det lokala nätverket. Men det jag inte riktigt begriper är hur slidern för dimmern funkar. Hur skickar man ett argument (payload eller suffix, jag är inte helt säker på terminologin) till dimmern?
Jag har gått en högskolekurs i C-programmering, men det är längesen… I Python är jag nybörjare. Html kan jag nästan inte alls. Tror du att du kan förklara så att en sådan som jag begriper?
Du behöver använda ett python-skript. https://bitbucket.org/sebnil/eventghost-web-gui/src/c2ed6abe2dd9d793f17ed9df605f557f4de45f54/my_eventghost_file.xml?at=default
Se rad 1606
Eventuellt också rad 1670
Hej! Tack för att dela!
Några frågor:
1) Hur är det med plugin för Spotify? Nedladdningsbara eller hem byggt av dig?
2) ”TCP.” bara input från webbserver eller något annat?
3) USB_UIRT… fungerar det bra?? Jag är på väg att köpa en.
Återigen tack för att dela!
/Zupermik
1. Nedladdningsbara. Hittade den i eventghost forumet.
2. Bara ett prefix för händelserna i eventghost.
3. Ja.
/Seb
@ Benjamin:
I din kod jag läser:
Nu = datetime.datetime.now()
outtemp230time = now.strftime("% Y-% m-% d% H:%M ")
Jag antar språk på webbplatsen pussel oss. Vänligen skicka din kod till ”zupermik (vid) gmail.com” och jag kommer att försöka hjälpa dig
Nu i koden ska vara nu.
Jag föreslår att du endast använder den första 5 rader kod och se om de fungerar. de sista raderna i skriptet är bara där om du vill ha en tidsstämpel av värdena.
@ Benjamin, fick du det att fungera? Jag såg inte någon e-post från dig…
Jag såg nu att du hade skrivit har skickat ett mejl till din adress, skriv igen om det inte kom fram.
Den kom och jag skickade ett svar
Hej
Jag har förmodligen samma problem som Benjamin. Hur löste det sig? Kan någon hjälpa mej? Så här ser mitt script ut.
–
p = eg.event.payload
p = p.split("|')
outtemp11 = p[0]
eg.globals.outtemp11 = outtemp11
print outtemp11
–
aOch i eventghost får jag detta felet.
Fel sammanställa skript.
Traceback (senaste samtalet sist):
SyntaxError: ogiltig syntax (142, linje 2)
på rad två, kör du med vanliga enkelfnuttar där? (skift och knappen till höger om ä)