Logiskt Plugin

Plugins skapade av Switch Kings användare | Plugins created by Switch King users
Post Reply
gorhak
3 stars
3 stars
Posts: 59
Joined: Wed 28 Sep 2011, 15:35
Location: Spånga

Logiskt Plugin

Post by gorhak » Mon 01 Oct 2012, 14:04

Hej,

Undrar om det finns något intresse för ett plugin som möjliggör beräknande av logiska funktioner utifrån enheters och datakällors status? Det kan även räkna decimala värden. (I framtiden har jag planer på att oxå kunna hantera datum och tid vilket skulle kunna ge möjlighet för olika typer av timer-funktionaliteter.) men...

Jag jobbar på ett första utkast, eller snarare en conceptlösning, av ett plugin som tänks klara:
- beräkna en enhets status utifrån logiska samband för andra enheter och datakällor, klarar AND,OR,XOR,NAND,NOR,XNOR,NOT
- använda variabler som består av egna logiska samband
- parallell-koppla, tex trappa eller korridor, och serie-koppla, tex huvudbrytare och sensor
- tända en enhet en viss tid, kan vara beräknad, från tillslag
- beräkna decimala värden utifrån en eller flera datakällor, klarar +,-,*,/
- göra tabelluppslagning för mer komplicerade decimala funktioner
- göra tabelluppslagning av sträng-värden, tex TurnOn->Öppen(magnetbrytare för dörr)
- spara värden till fil
- återmata beräknade enheters status till SK via REST-anrop

All konfiguration sker via xml-filer, tex:

<?xml version="1.0" encoding="utf-8"?>
<!-- <=< >=> &=& -->
<Plugin Version="0.0.0.1">
<Definitions>
<Target>
<Name>D19</Name>
<Type>Object</Type>
<Formula>S12&&Trappbrytare</Formula>
</Target>
<Variable>
<Name>Trappbrytare</Name>
<Type>Object</Type>
<Formula>S21||S36</Formula>
</Variable>
</Definitions>
</Plugin>

där
- D19 är Device IDnr:19 och S12, S21 och S36 är dataSource med respektive IDnr från SK
- Trappbrytare är en variabel
- (& = &), && = AND, || = OR

som blir funktionen "D19 = S12 AND (S21 OR S36)" vilket skulle kunna vara att:
"Lampan(D19) är tänd" om "huvudbrytaren(S12) är på" och att "sensor(S21) eller sensor(S36) är på"

eller
<?xml version="1.0" encoding="utf-8"?>
<!-- <:< >:> &:& -->
<Plugin Version="0.0.0.1">
<Definitions>
<Target>
<Name>S27</Name>
<Type>Decimal</Type>
<Formula>S25?L1+S26</Formula>
</Target>
<LookUpTable>
<Name>L1</Name>
<Type>Decimal</Type>
<File>C:\Program Files (x86)\Switch King\Switch King Server\Plugins\L1.xml</File>
</LookUpTable>
</Definitions>
</Plugin>

som blir "S27 = f(S25)'tabelluppslag från fil L1.xml' + S26"

Intresserad?
/Göran

Isaksson
5 stars
5 stars
Posts: 637
Joined: Tue 09 Nov 2010, 21:51
Location: Västervik

Re: Logiskt Plugin

Post by Isaksson » Mon 01 Oct 2012, 14:13

Tycker jag låter intressant. :wave:

Martin75a
3 stars
3 stars
Posts: 71
Joined: Tue 09 Nov 2010, 21:51

Re: Logiskt Plugin

Post by Martin75a » Thu 04 Oct 2012, 06:28

Låter helt klart intressant. :D

mvh
Martin

albinsson
3 stars
3 stars
Posts: 117
Joined: Sat 17 Dec 2011, 20:28

Re: Logiskt Plugin

Post by albinsson » Wed 14 Nov 2012, 12:04

Mycket mycket intressant :D

Jag svarade just i din andra tråd gällande att justera värden på mina termometrar som visar olika fel vid olika temp.

Men det här ser nästan lite bättre ut =)

Då kan jag justera med nåt liknande som nedan (obs, det är en "tasker" logik men basen är väl densamme. Att man har variabler,add,if osv):

Variable set "%rawtemp" to "avlästvärde" (Vi tar en in-temperatur som 70grader som exempel)

Variable set "%temprange" to "0" IF "%rawtemp" >0
Variable set "%temprange" to "1" IF "%rawtemp" >10
Variable set "%temprange" to "2" IF "%rawtemp" >20
Variable set "%temprange" to "3" IF "%rawtemp" >30
Variable set "%temprange" to "4" IF "%rawtemp" >40
Variable set "%temprange" to "5" IF "%rawtemp" >50
Variable set "%temprange" to "6" IF "%rawtemp" >60 (i exempelfallet 70grader skuller variabeln %temprange=6 (mer än 60 men
Variable set "%temprange" to "7" IF "%rawtemp" >70 inte mer än 70)
Variable set "%temprange" to "8" IF "%rawtemp" >80
Variable set "%temprange" to "9" IF "%rawtemp" >90

variable set "%modifiedtemp" to "%rawtemp+2" IF "%tempgrade" MATCHES 0
variable set "%modifiedtemp" to "%rawtemp+4" IF "%tempgrade" MATCHES 1
variable set "%modifiedtemp" to "%rawtemp+4" IF "%tempgrade" MATCHES 2
variable set "%modifiedtemp" to "%rawtemp+5" IF "%tempgrade" MATCHES 3
variable set "%modifiedtemp" to "%rawtemp+6" IF "%tempgrade" MATCHES 4
variable set "%modifiedtemp" to "%rawtemp+6" IF "%tempgrade" MATCHES 5
variable set "%modifiedtemp" to "%rawtemp+9" IF "%tempgrade" MATCHES 6 ------(i exempelfallet skulle tempraturen justeras med
variable set "%modifiedtemp" to "%rawtemp+10" IF "%tempgrade" MATCHES 7 --------------------9 grader)
variable set "%modifiedtemp" to "%rawtemp+14" IF "%tempgrade" MATCHES 8
variable set "%modifiedtemp" to "%rawtemp+14" IF "%tempgrade" MATCHES 9

gorhak
3 stars
3 stars
Posts: 59
Joined: Wed 28 Sep 2011, 15:35
Location: Spånga

Logiskt Plugin

Post by gorhak » Wed 14 Nov 2012, 13:48

Det ser fullt möjligt ut att kunna beräknas med detta Plugin. Mina testversioner kör jag på en gammal laptop från 2001, och den har inga problem med att orka med. Så en RPi borde oxå klara av detta såvida mono stödjer XML.
Det enda kruxet är att jag ska få till en första levererar version.
/Göran

albinsson
3 stars
3 stars
Posts: 117
Joined: Sat 17 Dec 2011, 20:28

Sv: Re: Logiskt Plugin

Post by albinsson » Wed 14 Nov 2012, 19:43

gorhak wrote:Det ser fullt möjligt ut att kunna beräknas med detta Plugin. Mina testversioner kör jag på en gammal laptop från 2001, och den har inga problem med att orka med. Så en RPi borde oxå klara av detta såvida mono stödjer XML.
Det enda kruxet är att jag ska få till en första levererar version.
/Göran
Låter spännande!

Största problemet med RPi nu verkar vara att mono bara fungerar för armel (soft float), och inte för armhf ( hard float).. Men det är lite off topic :-)
Jag ser fram emot att testa ditt plugin på min win 7 server så länge!

Skickat från min GT-I9300 via Tapatalk 2

fredrik78
2 stars
2 stars
Posts: 43
Joined: Mon 29 Nov 2010, 17:37

Re: Logiskt Plugin

Post by fredrik78 » Tue 04 Dec 2012, 12:56

När kommer en fungerande version? Verkar väldigt intressant detta! :D

albinsson
3 stars
3 stars
Posts: 117
Joined: Sat 17 Dec 2011, 20:28

Re: Logiskt Plugin

Post by albinsson » Fri 04 Jan 2013, 15:18

fredrik78 wrote:När kommer en fungerande version? Verkar väldigt intressant detta! :D
+1 på det :D :D :D

claes_hellgren
2 stars
2 stars
Posts: 20
Joined: Fri 07 Jan 2011, 18:18
Location: Katrineholm
Contact:

Re: Logiskt Plugin

Post by claes_hellgren » Tue 16 Apr 2013, 20:49

När kommer en fungerande version? Är väldigt intresserad av den...
Tellstick Duo | 16 Enheter | 6 Datakällor

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests