stöd för rfxcom /rfxlan

Allmänna frågor och synpunkter.
krambriw
4 stars
4 stars
Posts: 336
Joined: Thu 19 Jul 2012, 19:41

Re: stöd för rfxcom /rfxlan

Post by krambriw » Mon 04 Feb 2013, 19:44

EG klarar alltså av att läsa [temp och RH] på givare via min RFXtrx
Ja, det klarar den.

Här finns det mesta beskrivet om vad den kan ge för funktioner.
http://www.eventghost.net/forum/viewtop ... 801#p21366


I korta drag ett exempel för att uppdatera temp och RH i SK från en Oregon sensor via RFXtrx och EG:

- skapa två datakällor i SK, 'inneTemp' och 'inneRH' som skall uppdateras via REST

- se till att EG har RFXtrx pluginnen installerad och konfigurerad så att händelser börjar trilla in

- lägg till och konfigurera SwitchKing pluginnen i EG (den finns också på EG forumet) http://www.eventghost.net/forum/viewtop ... f=9&t=4054

- skapa ett makro med ett python skript

- dra den händelse som du vill använda till makrot (se bilden nedan)

- kopiera koden nedan och klistra in i ditt python skript (ändra sensorns id så det stämmer med din sensor, i mitt fall har min sensor id 5380, samma i skriptet och samma i händelsen)

- spara och vänta på att händelsen inträffar, kolla i SK, datakällorna skall nu vara uppdaterade

mvh

Code: Select all

def eventHandler(base, pload):
    try:
        if str(base).find('THGN122/123, THGN132, THGR122/228/238/268 id: 5380') > -1 :
            m = str(pload).split(' ')
            g = str(m[2])
            h = str(m[6])
            #print m
            eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneRH', h, 0)
            eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneTemp', g, 0)

    except:
        pass


eg.event.suffix_copy = eg.event.suffix
eg.event.payload_copy = eg.event.payload

eventHandler(eg.event.suffix_copy, eg.event.payload_copy)

Image2.jpg
You do not have the required permissions to view the files attached to this post.

Tilt68se
2 stars
2 stars
Posts: 17
Joined: Sat 26 Jan 2013, 10:00

Re: stöd för rfxcom /rfxlan

Post by Tilt68se » Tue 05 Feb 2013, 11:51

krambriw wrote:
EG klarar alltså av att läsa [temp och RH] på givare via min RFXtrx
Ja, det klarar den.

Här finns det mesta beskrivet om vad den kan ge för funktioner.
http://www.eventghost.net/forum/viewtop ... 801#p21366


I korta drag ett exempel för att uppdatera temp och RH i SK från en Oregon sensor via RFXtrx och EG:

- skapa två datakällor i SK, 'inneTemp' och 'inneRH' som skall uppdateras via REST

- se till att EG har RFXtrx pluginnen installerad och konfigurerad så att händelser börjar trilla in

- lägg till och konfigurera SwitchKing pluginnen i EG (den finns också på EG forumet) http://www.eventghost.net/forum/viewtop ... f=9&t=4054

- skapa ett makro med ett python skript

- dra den händelse som du vill använda till makrot (se bilden nedan)

- kopiera koden nedan och klistra in i ditt python skript (ändra sensorns id så det stämmer med din sensor, i mitt fall har min sensor id 5380, samma i skriptet och samma i händelsen)

- spara och vänta på att händelsen inträffar, kolla i SK, datakällorna skall nu vara uppdaterade

mvh

Code: Select all

def eventHandler(base, pload):
    try:
        if str(base).find('THGN122/123, THGN132, THGR122/228/238/268 id: 5380') > -1 :
            m = str(pload).split(' ')
            g = str(m[2])
            h = str(m[6])
            #print m
            eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneRH', h, 0)
            eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneTemp', g, 0)

    except:
        pass


eg.event.suffix_copy = eg.event.suffix
eg.event.payload_copy = eg.event.payload

eventHandler(eg.event.suffix_copy, eg.event.payload_copy)

Image2.jpg
Tack för den utförliga guiden! :clap: Jag ska testa vid tillfälle.
Martin, någon idé varför temperaturerna "tappar" minus och visar alla temperaturer som plus?

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: stöd för rfxcom /rfxlan

Post by Martin » Tue 05 Feb 2013, 11:56

Tilt68se wrote:Martin, någon idé varför temperaturerna "tappar" minus och visar alla temperaturer som plus?
Japp. I konverteringen från RFX exempelkod i VB.Net till C# tappades tydligen "sign" (+/-) bort. Det är dock inget vi kommer att åtgärda i 3.x, då det är så ytterst få som använder RFXtrx.

Edit: ...men vi hoppas så klart på fler framöver, iom v4. :)
Martin | Switch King

Tilt68se
2 stars
2 stars
Posts: 17
Joined: Sat 26 Jan 2013, 10:00

Re: stöd för rfxcom /rfxlan

Post by Tilt68se » Tue 05 Feb 2013, 15:16

Martin wrote:
Tilt68se wrote:Martin, någon idé varför temperaturerna "tappar" minus och visar alla temperaturer som plus?
Japp. I konverteringen från RFX exempelkod i VB.Net till C# tappades tydligen "sign" (+/-) bort. Det är dock inget vi kommer att åtgärda i 3.x, då det är så ytterst få som använder RFXtrx.
Ok, då kör jag på Kambriw:s lösning och hoppas på SK4! 8-)

Dock så tror jag fler kommer att upptäcka RFXtrx då Telldus har stora problem att få fram Tellstick Duo, i bästa fall Q2 är det senaste beskedet. Därför så var jag tvungen att köpa en RFXtrx. Jag hade en Tellstick NET som var helt ok, men mottagningen var klart sämre än RFXtrx, NET:en tappade kontaken med givare med jämna mellanrum vilket RFXtrx sällan (hittills aldrig) gör.

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: stöd för rfxcom /rfxlan

Post by Martin » Tue 05 Feb 2013, 15:22

Det finns väl en viss tanke med stöd för RFX-bitarna, om man säger så... :roll:
Martin | Switch King

Tilt68se
2 stars
2 stars
Posts: 17
Joined: Sat 26 Jan 2013, 10:00

Re: stöd för rfxcom /rfxlan

Post by Tilt68se » Wed 06 Feb 2013, 14:45

krambriw wrote:
EG klarar alltså av att läsa [temp och RH] på givare via min RFXtrx
Ja, det klarar den.

Här finns det mesta beskrivet om vad den kan ge för funktioner.
http://www.eventghost.net/forum/viewtop ... 801#p21366


I korta drag ett exempel för att uppdatera temp och RH i SK från en Oregon sensor via RFXtrx och EG:

[1] skapa två datakällor i SK, 'inneTemp' och 'inneRH' som skall uppdateras via REST

[2] se till att EG har RFXtrx pluginnen installerad och konfigurerad så att händelser börjar trilla in

[3] lägg till och konfigurera SwitchKing pluginnen i EG (den finns också på EG forumet) http://www.eventghost.net/forum/viewtop ... f=9&t=4054

[4] skapa ett makro med ett python skript

[5] dra den händelse som du vill använda till makrot (se bilden nedan)

[6] kopiera koden nedan och klistra in i ditt python skript (ändra sensorns id så det stämmer med din sensor, i mitt fall har min sensor id 5380, samma i skriptet och samma i händelsen)

[7] spara och vänta på att händelsen inträffar, kolla i SK, datakällorna skall nu vara uppdaterade

mvh

Code: Select all

def eventHandler(base, pload):
    try:
        if str(base).find('THGN122/123, THGN132, THGR122/228/238/268 id: 5380') > -1 :
            m = str(pload).split(' ')
            g = str(m[2])
            h = str(m[6])
            #print m
            eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneRH', h, 0)
            eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneTemp', g, 0)

    except:
        pass


eg.event.suffix_copy = eg.event.suffix
eg.event.payload_copy = eg.event.payload

eventHandler(eg.event.suffix_copy, eg.event.payload_copy)

Image2.jpg
Krambriw, jag har följt din utmärkta guide, men jag lyckas inte få in värden i SK. Jag har numrerat stegen i guiden och fungerar som det ska ända fram till steg [7], värdena uppdateras inte i SK. Alla värden kommer in i EG, jag kan se att SK-pluginen fungerar då "inneTemp" och andra datakällor som jag konfigurerat i SK syns i EG, t ex under "Configuration/Add Action/Switch King/Datasource, set value". RFXtrx triggar python-scriptet. Jag kan även ge en datakälla ett värde i SK genom REST med t ex "http://User:PASSWORD@localhost:8800/dat ... alue=1.234".

Men det verkar som python-scriptet i EG inte lyckas skriva värden till REST, och jag förstår inte varför. Men då är jag inte heller någon expert på Python. Jag bifogar en skärmdump som kanske kan ge en kunnigare person en ledtråd vari problemet ligger...
EG_SK.jpg
EDIT, tillägg:

När jag manuellt försöker "Set value" på en SK Datasource i EG, så får jag följande felmeddelande:

Code: Select all

15:43:45      Error in Action: "Switch King: Datasource, Set Value: inneTemp: 2"
15:43:45      Traceback (most recent call last) (1610):
15:43:45        File "C:\Program Files\EventGhost\eg\Classes\ActionBase.py", line 170, in CallWrapper
15:43:45          return self(*args)
15:43:45        File "C:\Program Files\EventGhost\plugins\Switchking\__init__.py", line 797, in __call__
15:43:45          self.plugin.sk.SetDataSource(devicename,value)
15:43:45        File "C:\Program Files\EventGhost\plugins\Switchking\__init__.py", line 264, in SetDataSource
15:43:45          self.cnnect(URL,"RESTDataSource")
15:43:45      AttributeError: swki instance has no attribute 'cnnect'
You do not have the required permissions to view the files attached to this post.

krambriw
4 stars
4 stars
Posts: 336
Joined: Thu 19 Jul 2012, 19:41

Re: stöd för rfxcom /rfxlan

Post by krambriw » Wed 06 Feb 2013, 16:49

Om du gör enkla tester först så kan vi kanske hitta varför uppdateringen inte går igenom.

Gör ett enkelt makro med bara ett python skript i EG.

Klistra in följande:

Code: Select all

h = '67'
eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneRH', h, 0)
Kör makrot manuellt så ska värdet skickas. Genom att ändra värdet manuellt kan du se om det slår igenom. Detta måste du få att fungera, det är grundläggande.

Kolla även hur du definierat datakällorna i SK

mvh

Tilt68se
2 stars
2 stars
Posts: 17
Joined: Sat 26 Jan 2013, 10:00

Re: stöd för rfxcom /rfxlan

Post by Tilt68se » Wed 06 Feb 2013, 17:08

krambriw wrote:Om du gör enkla tester först så kan vi kanske hitta varför uppdateringen inte går igenom.

Gör ett enkelt makro med bara ett python skript i EG.

Klistra in följande:

Code: Select all

h = '67'
eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneRH', h, 0)
Kör makrot manuellt så ska värdet skickas. Genom att ändra värdet manuellt kan du se om det slår igenom. Detta måste du få att fungera, det är grundläggande.

Kolla även hur du definierat datakällorna i SK

mvh

Ok, testade scriptet och fick detta fel:

Code: Select all

17:00:37   Python Script
17:00:37      Traceback (most recent call last):
17:00:37        Python script "2", line 2, in <module>
17:00:37          eg.plugins.SwitchkingTellStick.DSSet(u'', 'inneRH', h, 0)
17:00:37        File "C:\Program Files\EventGhost\plugins\Switchking\__init__.py", line 797, in __call__
17:00:37          self.plugin.sk.SetDataSource(devicename,value)
17:00:37        File "C:\Program Files\EventGhost\plugins\Switchking\__init__.py", line 264, in SetDataSource
17:00:37          self.cnnect(URL,"RESTDataSource")
17:00:37      AttributeError: swki instance has no attribute 'cnnect'
Datakällorna i SK ska "Matas från externt system" (d v s REST-interfacet). De får automatiskt ett ID (internt) i SK (20 i detta fall). Datakällorna syns som sagt i EG, när ett värde ändras manuellt (enligt förra inlägget) så ser man det i EG:s logg.

krambriw
4 stars
4 stars
Posts: 336
Joined: Thu 19 Jul 2012, 19:41

Re: stöd för rfxcom /rfxlan

Post by krambriw » Wed 06 Feb 2013, 17:54

Ja, det här är ju ett felmeddelande från SwitchKing pluginnen...den lyckas tydligen inte connecta correct till SK...tål att grunna på

krambriw
4 stars
4 stars
Posts: 336
Joined: Thu 19 Jul 2012, 19:41

Re: stöd för rfxcom /rfxlan

Post by krambriw » Wed 06 Feb 2013, 18:36

Tror faktiskt vår käre plugin utvecklare Niclas Håkansson eller Martin Engström kan ha skrivit fel....
Jag kör en något äldre version än du och där funkar det (jag har 0.0.7 och du 0.0.9)

Prova att rätta
def SetDataSource(self,grpnm,value):
URL = '/datasources/' + self.dsids[grpnm] + '/addvalue?value=' + value
self.cnnect(URL,"RESTDataSource")
till

Code: Select all

    def SetDataSource(self,grpnm,value):
        URL = '/datasources/' + self.dsids[grpnm] + '/addvalue?value=' + value
        self.connect(URL,"RESTDataSource")

spara, starta om EG och testa igen

Post Reply

Who is online

Users browsing this forum: No registered users and 21 guests