NexaHome - Utvecklingsförslag...

Moderators: hekj, Telldus

hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: NexaHome - Utvecklingsförslag...

Post by hekj »

Jag har gjort ett bsh script som hanterar set/clear av Holiday attributet.

Börja med att definiera en ny device med namnet "ModeAttr" i TelldusCenter samt starta om NexaHome.

Skriv in nedanstående i Parameters fältet på Device raden.
dummy:yes
Skapa en bsh fil vars namn är lika med dess Id.

Exempelvis 43.bsh

Code: Select all

import java.text.SimpleDateFormat;
if (deviceIsOn("ModeAttr")) {

  // *** Holiday check begin ***
  holiday_attribute = "Holiday";
  String[] holiday_array = {
//    "2012-03-25" /* Just testing... */,
    "2012-01-01" /* Nyårsdagen */,
    "2012-01-06" /* Trettondedag jul */,
    "2012-04-06" /* Långfredagen */,
    "2012-04-09" /* Annandag påsk */,
    "2012-05-01" /* Valborg, Första Maj */,
    "2012-05-17" /* Kristi Himmelsfärdsdag */,
    "2012-06-06" /* Sveriges Nationaldag och Svenska flaggans dag */,
    "2012-06-23" /* Midsommardagen */,
    "2012-10-03" /* Alla Helgons dag */,
    "2012-12-25" /* Juldagen */,
    "2012-12-26" /* Annandag Jul */
  };
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  date = sdf.format(Calendar.getInstance().getTime());
  holiday_flag = false;
  for (int ndx = 0; ndx < holiday_array.length; ndx++) {
    if (date.equals(holiday_array[ndx])) {
      holiday_flag = true;
      break;
    }
  }
  attributes = "";
  if (holiday_flag && !attributeIsOn(holiday_attribute)) {
    if (attributes.length() != 0) {
      attributes = attributes + ",";
    }
    attributes = attributes + holiday_attribute + ":set";
  } else if (!holiday_flag && attributeIsOn(holiday_attribute)) {
    if (attributes.length() != 0) {
      attributes = attributes + ",";
    }
    attributes = attributes + holiday_attribute + ":clear";
  }
  // *** Holiday check end ***

  // *** Workday check begin ***
  // Put a copy of the holiday code here and modify it...
  // *** Workday check end ***

  if (attributes.length() != 0) {
    attribute(attributes);
  }
}
Skapa egna nya attribute och lägg in hantering av dessa i ovanstående fil...

Lägg in följande rader i start.bsh

Code: Select all

deviceOn("ModeAttr");
deviceOff("ModeAttr");
Skapa två nya events:
Device "ModeAttr" On 00:00
Device "ModeAttr" Off 00:01
larst
Posts: 8
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by larst »

Snyggt! Det ska jag pröva någon gång när tillfälle medges. En kalenderfunktion tror jag skulle underlätta än mer, men detta räcker länge.

L.S.
larst
Posts: 8
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by larst »

Kanske inte så mycket ett utvecklingsförslag som en fråga: har någon testat röststyrning? Beroende på OS och annat är det förstås svårt att införa i själva applikationen, men om det på något sätt gick att understödja vore det tilltalande.

L.S.
folkeorg
Posts: 201
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by folkeorg »

Jag kör NexaHome 2.5.4 och har förslag till förbättring:

Noterar att programmet inte tar hänsyn till hur kort tid det är mellan till- och frånslag. Nu kan det vara ner till 1 sekund och det hinner inte mottagaren reagera på utan den förblir tänd dvs mottagaren är fullt upptagen med att slå till relät när frånslaget kommer (eller så hinner inte Tellsticken med båda, kanske saknas kösystem). Dessutom kan man undra hur bra det simulerar att någon är hemma dvs vem slår på och sedan direkt av en lampa? Det borde finnas en rad i allmänna inställningar där man själv får välja vilket denna "kortaste-tändtid" ska vara t.ex. 30 min som default.

Som ni ser i den bifogade bilden så hade Hall-lampan en tändtid på 4 sekunder och det klarade mottagaren dvs tända och sedan direkt släcka. Eftersom jag har en lågenergilampa så hann den inte ens blinka till, bara relät som klickade frenetiskt. När det var 1 sekund så förblev lampan tänd men det noterades även i NexaHome (Queue) så den kanske aldrig fick iväg släcksignalen till Tellstickan ens?
Attachments
Listan med tändtider.
Listan med tändtider.
NexaHome.jpg (23.41 KiB) Viewed 12834 times
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: NexaHome - Utvecklingsförslag...

Post by hekj »

folkeorg wrote:Jag kör NexaHome 2.5.4 och har förslag till förbättring:

Noterar att programmet inte tar hänsyn till hur kort tid det är mellan till- och frånslag. Nu kan det vara ner till 1 sekund och det hinner inte mottagaren reagera på utan den förblir tänd dvs mottagaren är fullt upptagen med att slå till relät när frånslaget kommer (eller så hinner inte Tellsticken med båda, kanske saknas kösystem). Dessutom kan man undra hur bra det simulerar att någon är hemma dvs vem slår på och sedan direkt av en lampa? Det borde finnas en rad i allmänna inställningar där man själv får välja vilket denna "kortaste-tändtid" ska vara t.ex. 30 min som default.

Som ni ser i den bifogade bilden så hade Hall-lampan en tändtid på 4 sekunder och det klarade mottagaren dvs tända och sedan direkt släcka. Eftersom jag har en lågenergilampa så hann den inte ens blinka till, bara relät som klickade frenetiskt. När det var 1 sekund så förblev lampan tänd men det noterades även i NexaHome (Queue) så den kanske aldrig fick iväg släcksignalen till Tellstickan ens?
Nja, minsta inkopplad tid är 1 minut, för muspekaren över "Next" så dyker en tooltip upp (HH:MM).

Lägger in ditt önskemål på TODO listan.
folkeorg
Posts: 201
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by folkeorg »

Hepp! Tänkte lite fel där, det är ju faktiskt minuter. Ser även att tiden för nästa tändning är 1,5 dygn framåt i tiden.

Men då är frågan varför den inte klarade att släcka sist. Här är hela loggen från 7/7:

2012-07-07 22:52:04 :ON 1(2): Turning on device: 6 #3 Hall (övre) - ok
2012-07-07 22:52:06 :ON 2(2): Turning on device: 6 #3 Hall (övre) - ok
2012-07-07 22:52:07 :ON 1(2): Turning on device: 4 #1 Vardagsrum - ok
2012-07-07 22:52:08 :ON 2(2): Turning on device: 4 #1 Vardagsrum - ok
2012-07-07 23:53:03 :OFF 1(2): Turning off device: 6 #3 Hall (övre) - ok
2012-07-07 23:53:05 :OFF 2(2): Turning off device: 6 #3 Hall (övre) - ok
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: NexaHome - Utvecklingsförslag...

Post by hekj »

folkeorg wrote:Hepp! Tänkte lite fel där, det är ju faktiskt minuter. Ser även att tiden för nästa tändning är 1,5 dygn framåt i tiden.

Men då är frågan varför den inte klarade att släcka sist. Här är hela loggen från 7/7:

2012-07-07 22:52:04 :ON 1(2): Turning on device: 6 #3 Hall (övre) - ok
2012-07-07 22:52:06 :ON 2(2): Turning on device: 6 #3 Hall (övre) - ok
2012-07-07 22:52:07 :ON 1(2): Turning on device: 4 #1 Vardagsrum - ok
2012-07-07 22:52:08 :ON 2(2): Turning on device: 4 #1 Vardagsrum - ok
2012-07-07 23:53:03 :OFF 1(2): Turning off device: 6 #3 Hall (övre) - ok
2012-07-07 23:53:05 :OFF 2(2): Turning off device: 6 #3 Hall (övre) - ok
När jag tittar på den xml fil du har skickat till mig ser det ut som att släckkommandot Hall (övre) 23:00 -15 +5 ska utföras alla dagar utom fredag och lördag, dvs NexaHome har gjort som du programmerat.

Anledningen till att ett ej aktivt Event visas i Queue är att man ska kunna ändra på ifa ett Event ska utföras eller ej (överrida programering), klicka på fältet i Active kolumnen (som inte syns i din bild)...
folkeorg
Posts: 201
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by folkeorg »

Det var inte Hall (övre) som spökade, den har en senare släckning på fredag kväll så det finns ett annat event för det. Utan det är Vardagsrum som inte ville slockna, även den har annat event för fre-lör släckningen. Det har inte hänt förrut vad jag vet så schemat borde fungera.

Kan det bli något stök för att släckningen är 23:45 +/-15min dvs att släckningen kan hamna på 00:00 nästa dygn? Det finns ingen släckning av Vardagsrum med i loggen för 7/7 eller 8/7 heller. Så den utfördes (loggades) aldrig.

Får väl se om det händer igen. Kanske en tillfällig svacka. Kör på en bärbar 600Mhz så den kanske var upptagen med annat just då?
mph
Posts: 4
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by mph »

Støtter NEXAHOME web grensesnitt SSL (HTTPS)? Passord sendes i klartekst når HTTP brukes.
Hilsen MPH
Windows 7 Ultimate SP1, Tellstick Net V4, 5 stk Nexa (self learning), 2 stk GOA (self learning), 1 stk Nexa door bell, 3 skt temp sensorer
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: NexaHome - Utvecklingsförslag...

Post by hekj »

mph wrote:Støtter NEXAHOME web grensesnitt SSL (HTTPS)? Passord sendes i klartekst når HTTP brukes.
Inte i dagsläget, det jag har gjort är att visuellt skydda lösenordet, när sidan uppdateras så visas ett genererat lösenord som bara är giltigt tills NexaHome startas om eller password reset har beordrats (genom att addera parametern pswreset=yes på url raden).
eleson
Posts: 10
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by eleson »

Hej,
Jag är osäker på om det föreslagits, men en bsh metod typ NextEventInfo(n) , där n är hur långt fram man vill titta,
för att få info om nästkommande event typ DeviceNamn, command(on/off etc) ,Date&Time etc .
T ex för att kunna ta beslut baserat på om nästa event är om 5 timmar, som sätta datorn i sleep mode.
Eller ta beslut baserat på vilket device som kommer härnäst.

Typ
AnswerStr = NextEventInfo(1) ; // hämta info om nästa event.

/E
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: NexaHome - Utvecklingsförslag...

Post by hekj »

eleson wrote:Jag är osäker på om det föreslagits, men en bsh metod typ NextEventInfo(n) , där n är hur långt fram man vill titta,
för att få info om nästkommande event typ DeviceNamn, command(on/off etc) ,Date&Time etc .
T ex för att kunna ta beslut baserat på om nästa event är om 5 timmar, som sätta datorn i sleep mode.
Eller ta beslut baserat på vilket device som kommer härnäst.

Typ
AnswerStr = NextEventInfo(1) ; // hämta info om nästa event.
Jag har lagt in fler bsh metoder i en ej ännu helt testad version:
http://nexahome.se/NexaHome_2.8.6.jar

Code: Select all

echo(timeToNextEvent());  // timmar och minuter till nästa event
echo(getEventQueue(0));  // den som finns på 1:a raden i NexaHome, i "Queue" tabellen (tab separerade strängar)
echo(getEventQueue(1));  // den som finns på 2:a ...

echo(getExecutedBy());

if (executedByCmd()) {
  echo("executedByCmd");
}
if (executedByEvent()) {
  echo("executedByEvent");
}
if (executedByTimer()) {
  echo("executedByTimer");
}
if (executedByUpdate()) {
  echo("executedByUpdate");
}
if (executedByBsh()) {
  echo("executedByBsh");
}

if (sunIsUp()) {
  echo("Sun is up!");
} else {
  echo("Sun is not up!");
}

echo(getSunrise());
echo(getSunset());
getExecutedBy() metoden returnerar en textsträng som innehåller historik (1:a,2:a,3:e,osv)

Vad bokstäverna i getExecutedBy() textsträngen betyder:
EXECUTED_BY_COMMAND = "C"
EXECUTED_BY_EVENT = "E"
EXECUTED_BY_TIMER = "T"
EXECUTED_BY_UPDATE = "U"
EXECUTED_BY_WEB = "W"
EXECUTED_BY_BSH = "B"
EXECUTED_BY_MENUITEM = "I"
EXECUTED_BY_START = "S"
EXECUTED_BY_MODE = "M"
EXECUTED_BY_ATTRIBUTE = "A"
EXECUTED_BY_EXCEPTION = "X"
Edit: Ny version upplagd 2012-10-13 10:48
eleson
Posts: 10
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome - Utvecklingsförslag...

Post by eleson »

:D :clap: :clap: :clap: :clap: :D
Post Reply