Page 1 of 2

Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Hej,

Jag har besvär med lååånga köer i mitt z-wave-nätverk baserat på en Razberry. Jag ser en väldig massa requests köas upp och har börjat slänga blickarna mot NexaHome som jag har integrerat Z-wave med tack vare din fina integration. Nu undrar jag: pollar du Razberry:n på alla kända device med jämna intervall eller hur håller du listan över status på z-wave-nätet uppdaterad?

Det skulle, möjligen, kunna vara orsaken till att det ibland tar 30-60 sekunder innan en z-wavestyrd lampa reagerar (oavsett om jag slår på/av den via NexaHome, z-wave:s UI eller en brytare).

Mvh /Brus-Per

(har flyttat runt inlägget mellan olika delar av forumet men nu borde det hamnat rätt :roll: )

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Pollning av z-wave nätverket sker kontinuerligt via json, man ger en tidstämpel som parameter för att på så sett enbart se förändringar.

Testa följande för att se det som skickas som svar från Razberry till NexaHome (ver 4.1.14).

Code: Select all

./run_nexahome.sh -d -show_zwave_info -dump_zwave_data

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Hej Henrik,

Jag tror att det är något som inte är helt friskt med pollingen. Möjligen har API:t ändrats? Jag bifogar en loggfil som är resultatet av:

./run_nexahome.sh -d -show_zwave_info -dump_zwave_data > /home/pi/z-wave_dump.log så att du får se vad som händer.

Responsen om jag kör kommandot NexaHome försöker exekvera mot API:t {http://192.168.xxx.yyy:8083/ZWaveAPI/Ru ... es[50].Get()} är: TypeError: Cannot read property 'Get' of undefined och den ger en 500 tillbaks.

Kön i z-wave växer lavinartat och detta gäller både när jag kör kommandot ovan och när jag kör NexaHome som vanligt. Om jag har NexaHome stoppad ligger kön oftast på 4-5 men ökar till 130-150 så snart jag haft NexaHome igång en stund. Min teori är att något är snett i kommunikationen med z-wave/Razberrys API.

PS: Tyvärr kunde jag inte bifoga loggfilen eftersom forumet säger: "Sorry, the board attachment quota has been reached." när jag försöker ladda upp loggfilen och/eller skärmdumpen men jag mailar dom gärna till dig om du vill.

PS2: Jag ser nu att jag kör NexaHome v4.1.9 - är det en förklaring? (Har uppgraderat till v4.1.14 och det löser inte problemet)
Ps3: Ja, jag har verifierat att mitt lösenord i NexaHome till z-wave är korrekt (vissa requests svarar ju dessutom Razberry korrekt på)

Mvh /Brus-Per

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Jag har kollat på loggen du mailade mig, det ser inte ut som att den är skapad med v4.1.14

Du skulle kunna testa att radera "felaktiga" zwave enheter från NexaHome.xml filen och därefter starta NH på nytt.

Det enda jag ser är att instances[2] används flitigt, behöver en ny logfil för att komma på vad som är fel.

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Nej, den skapade jag innan jag hade uppgraderat till 4.1.14 så det stämmer. Jag kan fixa en ny pronto.

Med felaktiga z-wave-enheter antar jag att du menar dom som NexaHome hämtar in någonstans ifrån när NexaHome startas? Jag brukar rensa dom manuellt och sedan spara NexaHomes konfig men när jag sedan startar om NexaHome så läser den in dom på nytt igen. Testar att rensa dom från XML.filen och ser om det hjälper. Sedan tar jag en ny loggfil och bifogar/mailar den.

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Vet inte om jag sagt det tidigare men kön i Razpberry är cirka 140-180 requests lång när NexaHome exekverar. Om jag stannar NexaHome minskar kön monotont så att den efter någon minut är nere i 0-5 där den ligger kvar tills jag åter startar NexaHome varvid kön ökar till ~150 där den ligger kvar.

Jag har mailat loggen till dig.

br /Brus-Per

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Har gjort en testversion, hämta NH 4.1.15 och kolla om den fungerar bättre.

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Hej Henrik,

Har installerat v4.1.15 och tyvärr blir situationen än värre. Köerna ligger nu stabilt på längder mellan 210-250 efter att jag startat NexaHome 4.1.15. "Nonsensedevicen" kvarstår också trots att jag rensade nexahome.xml innan uppstart av nya versionen. När jag stoppar NexaHome faller kön ner till 0-5 igen även om det tar längre tid än vid förra försöket eftersom vi startar från en högre nivå.

Jag kan fortfarande inte laddda upp attachments så jag mailar skärmdumpen separat till dig. Vill du ha en ny logg?

br /Brus-Per

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Har lagt upp testversion v4.1.16 som kanske är lite snällare.

Kolla om det blir någon skillnad samt visa mig hur din "View Job Queue" ser ut, här är ett exempel på min.... (alla i listan är D = Done samt Delivered):

View Job Queue

Queue length: 24
n U W S E D Ack Resp Cbk Timeout NodeId Description Progress Buffer
1 D + + + 5.88 2 SwitchBinary Get Delivered 2 a 56 1 60 d 0 6 25 2 7 64 25
1 D + + + 5.95 2 Basic Get Delivered 2 a 56 1 60 d 0 6 20 2 f8 91 25
1 D + + + 6.04 2 Meter Get (v2) Delivered 2 b 56 1 60 d 0 6 32 1 0 87 47 25
1 D + + + 6.12 2 Meter Get (v2) Delivered 2 b 56 1 60 d 0 6 32 1 10 95 76 25
1 D + + + 6.18 2 SwitchBinary Get Delivered 2 a 56 1 60 d 0 1 25 2 82 f4 25
1 D + + + 6.26 2 Basic Get Delivered 2 a 56 1 60 d 0 1 20 2 7d 1 25
1 D + + + 6.33 2 Meter Get (v2) Delivered 2 b 56 1 60 d 0 1 32 1 0 d6 6a 25
1 D + + + 6.42 2 Meter Get (v2) Delivered 2 b 56 1 60 d 0 1 32 1 10 c4 5b 25
...
1 D + + + 9.63 2 Meter Get (v2) Delivered 2 b 56 1 60 d 0 2 32 1 10 5f 87 25

Legend
n = Send count, W = Wait wakeup, S = Wait security, E = Encapsulated, D = Done, U = Urgent

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Hej Henrik,

Hoppas att du inte satt uppe hela natten med detta!? 05:56 som timestamp låter lite obra...

Jag gör såhär:
- Installerar den nya versionen och testar den
- Tar en skärmdump ppå jobbkön och mailar den tillsammans med en ny logg
- Om du anser att det ger dig något kan jag öppna ett hål i brandväggen åt dig så att du själv kan kolla på mitt system?

Återkommer inom kort.

br/Brus-Per

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Testade enligt plan, skickar resultatet dels som loggfil (z-wave_dump6) och som inspelad från UI:t så du ser lite bättre vad som händer (nexahome_zwave).

Hoppas det säger något – resultatet med v4.1.16 sett ur kö-perspektivet är i princip detsamma som tidigare; ingen tydlig skillnad. Kön ligger strax under 200 konstant när NexaHome är startad, annars kring 0-5.

En fundering: skulle det inte vara bra om man istället för att polla z-wave.me använde deras push-funktion? Dom har ju en bra lösning som t.ex innebär att om jag har deras UI öppet i två device (mobil och PC) samtidigt (så att jag ser alla lampor et.c) och sedan släcker en lampa via mobilen så reflekteras det direkt i PC:ns UI. Det är rimligen någon push-funktionalitet?

Möjligen skulle det innebära omfattande refaktorisering av NexHome och därmed ogörbart men ändå en idé.

br /Brus-Per

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by hekj
v4.1.17

Nu har jag lagt in möjlighet för användaren att stänga av pollning helt och hållet eller definiera intervallet på egen hand.

Skriv in "poll:0" i Parameters-fältet för alla zwave device som pollning ska stängas av.

Code: Select all

poll:0
Om man av någon anledning inte får status/temperatur/effekt att uppdateras i NexaHome så kan nollan bytas ut mot ett värde i sekunder.

Code: Select all

poll:240

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Najs, skall testa det asap. Bara så jag har ett startvärde: hur ofta pollade NexaHome i tidigare versioner?

br/bp

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Om inte data från COMMAND_CLASS_WAKE_UP (132) har mottagits så tar logiken hand om intervallet.

Code: Select all

   public static final long SECONDS_BETWEEN_POLL = 15;
   public static final long SECONDS_BETWEEN_POLL_BATTERY = 5 * 60;
   public static final long MILLIS_BETWEEN_POLL_DELAYED = 10 * 60 * 1000;

      return ((wakeupIntervalSeconds != 0 ? wakeupIntervalSeconds :
         (isBatteryPowered() ? SECONDS_BETWEEN_POLL_BATTERY : SECONDS_BETWEEN_POLL)) * 1000);
MILLIS_BETWEEN_POLL_DELAYED används numera (>= v4.1.16) då NH har frågat efter data men inte ännu fått något svar.
Värdet är satt till 10 minuter men jag funderar på om det borde ökas.

Det finns även sedan tidigare en kontroll som gör att inte för många förfrågningar ska skickas per tidsenhet.

Re: Hur interfacar Nexa med Razberry (Z-wave.me)?

Posted: Fri Mar 17, 2023 9:45 am
by brusan
Nu har jag testat v4.1.17.

Har gjort lite olika tester:

1. Installerade och körde igång v4.1.17 utan ändringar i nexahome.xml (dvs jag satte inte parametern polling). Resultatet var att köerna i z-wave/Razberry växte som tidigare när jag startade NexaHome och kön avtog som tidigare när jag stängde NexaHome.

2 Sedan redigerade jag nexahome.xml och la in specificParameters="poll:0" för varje z-wave-device och startade om NexaHome. Nu påverkades inte köerna i z-wave (dvs körerna förblev korta; cirka 2-5) - men å andra sidan uppdaterades såklart inte heller z-wave-devicen i NexaHome så det var ingen succé eftersom jag använder NexaHome som central informationskälla för både NexaHome och Z-wave.

3. Redigerade nexahome.xml och satte specificParameters="poll:120" för varje "äkta" z-wave-device (dvs sådana som heter n:0 för dimmers och n#1 eller n#2 för strömbrytare, se kolumnen zWave i NexaHome) och specificParameters="poll:0" för alla z-wave-device som HexaHome "plockar upp" vid starten och som har devicenummer som innehåller n:1 eller n:2 (dom betecknas som Routing Multilevel Switch (x) i NexaHome). Resutatet blev nu burstar av cirka 40-50 köobjekt i z-wave men dessa klingade av inom cirka en minut.
Nu förväntade jag mig att NexaHome skulle uppdateras med aktuell status för alla z-wave-device men det finns inga uppdateringar.

Något är det som jag inte fått rätt - frågan är vad ;)

Jag bifogar en skärmdump som visar z-wave-devicen i NexaHome efter steg 3 (om det går att bifoga bilagor annars mailar jag den)