NexaHome v3.5.0

Moderators: hekj, Telldus

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

Re: NexaHome v3.5.0

Post by hekj »

Leffe wrote:Nu funkar det på det viset att ,tv pingas och tänder "TV"(device 5) och lamporna lyser vidare , stängs tv n av så släcks "TV" och lamporna slocknar helt OK
Problemet är att dagen efter när lamporna har ett event att tända så sker inte detta
Tänder jag då manuellt så fungerar det denna kväll men dagen efter "tänder" det inte .

Har du lust och kraft att hjälpa mig med detta är jag mycket tacksam .
Skicka ett mail till mig där du bifogar NexaHome.xml samt dina bsh filer.
Leffe
Posts: 96
Joined: Fri Mar 17, 2023 9:45 am

Re: NexaHome v3.5.0

Post by Leffe »

Tack Henrik för din hjälp
Jag har nu skickat filerna på Image
Hoppas det är riktigt

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

Re: NexaHome v3.5.0

Post by hekj »

Leffe wrote:Jag har nu skickat filerna på Image
Hoppas det är riktigt
Du använder Function sunlight utan att ange Cmd Group, jag tror att det är enklare att förstå vad som händer om du byter till sunset- och anger ett relativt klockslag.

Exempel:
ON 14:00 sunlight
-->
ON 02:30 sunset-
brusan
Posts: 47
Joined: Fri Mar 17, 2023 9:45 am
Location: Stora Dyrön

Re: NexaHome v3.5.0

Post by brusan »

Funktionen med att kolla om TV:n slås på är perfekt. Upptäckte dock en liten glitch i mitt tänk.

När NexaHome upptäcker att TV:n slås på så drar den ner taklampan i TV-rummet till 20%, släcker en fönsterbelysning helt och släcker även hallbelysningen (eftersom dom senare stör bilden). In kommer junior och slår på belysningen i hallen. Max 60 sekunder senare inser NexaHome att "Japp, TV:n är på då ska vi släcka lite här då, ja". Junior blir vansinnig på farsans jäkla "databelysning". Obra läge...

Alltså: kan man lagra "tillstånd" i NexaHome på något sätt, så att den visserligen kollar TV:n t.ex var 60:e sekund MEN bara utför åtgärder när TV:ns tillstånd ändras?
- TV:n är avstängd och slås på => dimmra och släck enligt ovan
- TV:n är fortfarande på (eller av) => gör ingenting.

Samt i dom bästa av världar: När TV:n slås av, återställ då lamporna till deras tillstånd innan TV:n slogs på. :?

Jag inser såklart att detta egentligen skulle kräva en dubbelriktad kommunikation mellan dimmrar/switchar och NexaHome (i stil med Zwave och/eller KNX) eftersom väggströmbrytare kan ställa till det.
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: NexaHome v3.5.0

Post by hekj »

brusan wrote:Funktionen med att kolla om TV:n slås på är perfekt. Upptäckte dock en liten glitch i mitt tänk.

När NexaHome upptäcker att TV:n slås på så drar den ner taklampan i TV-rummet till 20%, släcker en fönsterbelysning helt och släcker även hallbelysningen (eftersom dom senare stör bilden). In kommer junior och slår på belysningen i hallen. Max 60 sekunder senare inser NexaHome att "Japp, TV:n är på då ska vi släcka lite här då, ja". Junior blir vansinnig på farsans jäkla "databelysning". Obra läge...

Alltså: kan man lagra "tillstånd" i NexaHome på något sätt, så att den visserligen kollar TV:n t.ex var 60:e sekund MEN bara utför åtgärder när TV:ns tillstånd ändras?
- TV:n är avstängd och slås på => dimmra och släck enligt ovan
- TV:n är fortfarande på (eller av) => gör ingenting.

Samt i dom bästa av världar: När TV:n slås av, återställ då lamporna till deras tillstånd innan TV:n slogs på. :?

Jag inser såklart att detta egentligen skulle kräva en dubbelriktad kommunikation mellan dimmrar/switchar och NexaHome (i stil med Zwave och/eller KNX) eftersom väggströmbrytare kan ställa till det.
Visa mig din bsh fil så kan jag uppdatera den.
brusan
Posts: 47
Joined: Fri Mar 17, 2023 9:45 am
Location: Stora Dyrön

Re: NexaHome v3.5.0

Post by brusan »

Jisses, det kallar jag service! :D

Såhär ser min grundfil ut, den har i princip bara med funktionalitet för att detektera TV:ns tillstånd och flippa av tre lampor:

Code: Select all

#!/usr/bin/env bash
check_output = "pinga_tvn.sh";
device_tv = "TV";
device_taklampaHall = "Mellanplan, hallen taklampa";
device_fonster = "Mellanplan, fönsterlampa 3";
device_taklampaVardagsrum = "Mellanplan, vardagsrum, taklampa";
String out = getData(check_output + ".output_");
String err = getData(check_output + ".error_");
hideOutput(); //Behvs troligen inte

if (out != null && (out.indexOf("time=") != -1   || out.indexOf("time<") !=-1)) {
  deviceOn(device_tv);  // TV:n är på, nedansåtende tre satser borde bara exekveras EN gång
  deviceOff(device_fonster); //Borde kanske testa if device_fonster = Off men vet inte hur
  deviceOff(device_taklampaVardagsrum); //Kolla om det finns något i stil med deviceDim
  deviceOff(device_taklampaHall); //Kolla om det finns något i stil med deviceDim
} else if (err != null && err.length() != 0) { 
  echo("Lite knas hr: " + err);
} else {
  deviceOff(device_tv);  // update device status
// Om jag visste state på lamporna innan tv:n gick på så skulle nåt bra hända här...
}
PS: finns det någon dokumentation på alla "deviceON", "deviceOff" och så vidare?
brusan
Posts: 47
Joined: Fri Mar 17, 2023 9:45 am
Location: Stora Dyrön

Re: NexaHome v3.5.0

Post by brusan »

Jag upptäckte just en oväntad grej. Om man har en dimmad lampa (säg dimmad till 40%) och slår av den med väggkontakt eller via deviceOff och sedan gör deviceOn på den så kommer den att gå upp i 100%. Om man däremot tänder den via väggbrytaren så går den upp till samma dimmningsnivå som när man slog av den, vilket jag tänker är vad man skulle förvänta sig. Bug or feature? ;-)

Sedan vore det kanon om man kunde sortera device i NexaHome:s GUI baserat på Name. Alla device listas efter Id nu och det är säkert bra men det skulle vara najs att kunna ändra sort order genom ett klick på Name. Bara ett önskemål.
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: NexaHome v3.5.0

Post by hekj »

brusan wrote:Jisses, det kallar jag service! :D

Såhär ser min grundfil ut, den har i princip bara med funktionalitet för att detektera TV:ns tillstånd och flippa av tre lampor:

Code: Select all

#!/usr/bin/env bash
check_output = "pinga_tvn.sh";
device_tv = "TV";
device_taklampaHall = "Mellanplan, hallen taklampa";
device_fonster = "Mellanplan, fönsterlampa 3";
device_taklampaVardagsrum = "Mellanplan, vardagsrum, taklampa";
String out = getData(check_output + ".output_");
String err = getData(check_output + ".error_");
hideOutput(); //Behvs troligen inte

if (out != null && (out.indexOf("time=") != -1   || out.indexOf("time<") !=-1)) {
  deviceOn(device_tv);  // TV:n är på, nedansåtende tre satser borde bara exekveras EN gång
  deviceOff(device_fonster); //Borde kanske testa if device_fonster = Off men vet inte hur
  deviceOff(device_taklampaVardagsrum); //Kolla om det finns något i stil med deviceDim
  deviceOff(device_taklampaHall); //Kolla om det finns något i stil med deviceDim
} else if (err != null && err.length() != 0) { 
  echo("Lite knas hr: " + err);
} else {
  deviceOff(device_tv);  // update device status
// Om jag visste state på lamporna innan tv:n gick på så skulle nåt bra hända här...
}
PS: finns det någon dokumentation på alla "deviceON", "deviceOff" och så vidare?
pinga_tvn.sh.output.bsh

Code: Select all

check_output = "pinga_tvn.sh";
device_tv = "TV";
String out = getData(check_output + ".output_");
String err = getData(check_output + ".error_");
if (out != null && (out.indexOf("time=") != -1 || out.indexOf("time<") !=-1)) {
  if (deviceIsOff(device_tv)) {
    deviceOn(device_tv);
    hideOutput();
  }
} else if (err != null && err.length() != 0) {
  echo("Lite knas hr: " + err);
} else if (deviceIsOn(device_tv)) {
  deviceOff(device_tv);
  hideOutput();
}
Skapa en ny bsh fil som har samma id som din device med namnet TV.

<device nummer för din TV>.bsh

Code: Select all

device_tv = "TV";
device_taklampaHall = "Mellanplan, hallen taklampa";
device_fonster = "Mellanplan, fönsterlampa 3";
device_taklampaVardagsrum = "Mellanplan, vardagsrum, taklampa";
if (deviceIsOn(device_tv)) {

  setData("previous_value_" + device_fonster, (deviceIsOn(device_fonster) ? "ON" : "OFF"));
  deviceOff(device_fonster);
  
  setData("previous_value_" + device_taklampaVardagsrum, (deviceIsOn(device_taklampaVardagsrum) ? "ON" : "OFF"));
  deviceOff(device_taklampaVardagsrum); //Kolla om det finns något i stil med deviceDim
  
  setData("previous_value_" + device_taklampaHall, (deviceIsOn(device_taklampaHall) ? "ON" : "OFF"));
  deviceOff(device_taklampaHall); //Kolla om det finns något i stil med deviceDim
  
} else {

  previous_value = getData("previous_value_" + device_fonster);
  if (previous_value != null && previous_value.equals("ON")) {
    deviceOn(device_fonster);
  }
 
  previous_value = getData("previous_value_" + device_taklampaVardagsrum);
  if (previous_value != null && previous_value.equals("ON")) {
    deviceOn(device_taklampaVardagsrum);
  }
 
  previous_value = getData("previous_value_" + device_taklampaHall);
  if (previous_value != null && previous_value.equals("ON")) {
    deviceOn(device_taklampaHall);
  }
 
}
hideOutput();
Har inte kollat om ovanstående kompilerar, du kan väl testa.

En gammal manual hittar du här.
http://nexahome.se/manual/index.html
brusan
Posts: 47
Joined: Fri Mar 17, 2023 9:45 am
Location: Stora Dyrön

Re: NexaHome v3.5.0

Post by brusan »

Lysande, tack så mycket! Jag skall testa asap.
Pinsamt med manualen, jag hade hittat den men skippade tydligen över avsnittet där infon jag sökte fanns. Trodde att det enbart handlade om html :oops: Än en gång Tack! Ett mer konkret tack för ditt jobb med NexaHome kommer via Paypal men gör nu inte en "Åke" på jobbet bara för det :wink:
Post Reply