123 073 läst · 939 svar
123k läst
939 svar
Domoticz och Z-Wave
OK. Då kan jag nog hjälpa dig.fremar skrev:
Har du installerat dzVents?
Vad vill du göra?
//Henry
Testade att välja en dummy temperatursensor istället för min riktiga och då fungerade det:
2017-03-06 22:37:00.286 LUA: Garage Motorvarmaren startades kl. 22:37:00, utetemperatur är 0 celcius. Den kommer stängas av kl. 00:00:00
Så då antar jag att problemet är att min sensor rapporterar temperatur och luftfuktighet.
2017-03-06 22:37:00.286 LUA: Garage Motorvarmaren startades kl. 22:37:00, utetemperatur är 0 celcius. Den kommer stängas av kl. 00:00:00
Så då antar jag att problemet är att min sensor rapporterar temperatur och luftfuktighet.
Jo, är detta det enda du vill göra så går det säkert att få igång det. Men med dzVents blir allt enkelt.fremar skrev:Testade att välja en dummy temperatursensor istället för min riktiga och då fungerade det:
2017-03-06 22:37:00.286 LUA: Garage Motorvarmaren startades kl. 22:37:00, utetemperatur är 0 celcius. Den kommer stängas av kl. 00:00:00
Så då antar jag att problemet är att min sensor rapporterar temperatur och luftfuktighet.
Här har du en medeltemperaturberäkning från multisensorer. Man frågar bara efter det värde man vill ha och bryr sig inte om att sensorn rapporterar 4-5 värden till. Här tar jag bara vara på värden rapporterade inom de senaste 20 minuterna.
Inloggade ser högupplösta bilder
Logga in
Skapa konto
Gratis och tar endast 30 sekunder
//Henry
Ok, verkar inte kunna få ordning på det carheater scriptet så att den förstår temperaturen från min Netatmo. Så får styra motorvärmaren med en simpel timer tills vidare. Löste sig med något jag googlade fram och det verkar fungera att uppdatera en virtuell temperatursensor med bara temperaturen från min vanliga.
local Temp idx = 34
commandArray = {}
time = os.date("*t")
if((time.min % 10)==0)then
function round(num, idp) -- Credits go to Martin Rourke, I used his function.
local mult = 10^(idp or 1)
return math.floor(num * mult + 0.5) / mult
end
-- Split Oregon
sWeatherTemp, sWeatherHumidity = otherdevices_svalues['Ute']:match("([^;]+);([^;]+)")
sWeatherTemp = tonumber(sWeatherTemp)
commandArray[1]={['UpdateDevice'] = 34 .. '|0|' .. tostring(sWeatherTemp)}
end
return commandArray
local Temp idx = 34
commandArray = {}
time = os.date("*t")
if((time.min % 10)==0)then
function round(num, idp) -- Credits go to Martin Rourke, I used his function.
local mult = 10^(idp or 1)
return math.floor(num * mult + 0.5) / mult
end
-- Split Oregon
sWeatherTemp, sWeatherHumidity = otherdevices_svalues['Ute']:match("([^;]+);([^;]+)")
sWeatherTemp = tonumber(sWeatherTemp)
commandArray[1]={['UpdateDevice'] = 34 .. '|0|' .. tostring(sWeatherTemp)}
end
return commandArray
Redigerat:
Verkar fungera bra, nu var det ca 1 grad varmt när jag provade att lägga in en händelse i kalendern för motorvärmaren mellan 15-16. Då startade den motorvärmaren 56 minuter före tiden som är inställd då man skall åka. vet inte exakt om det är en lagom tid att ha igång motorvärmaren eller om det skall vara mer. När jag har kört med vanlig timer så har den ju varit igång typ 1½-2 timmar oavsett temperatur ute.
2017-03-07 14:13:00.071 LUA: CARHEATER_START: 1488895200 > 0 == tGCalStart
2017-03-07 14:13:00.071 LUA: CARHEATER_START: 528 >= 0 == tlStart
2017-03-07 14:13:00.072 LUA: CARHEATER_START: 1488895200 ~= 1488895200 == tGCalStart ~= tLastRun
2017-03-07 14:13:00.072 LUA: CARHEATER_START: nMotorswitch == 'Off': On
2017-03-07 14:13:00.072 LUA: CARHEATER_START: 3348 > 0 == carheater_runtime > 0:
2017-03-07 14:13:00.072 LUA: Garage Motorvarmaren relay: On
2017-03-07 14:13:00.072 LUA: Last timer run: Tue Mar 7 15:00:00 2017
2017-03-07 14:13:00.072 LUA: Leavingtime from google cal: Tue Mar 7 15:00:00 2017
2017-03-07 14:13:00.072 LUA: Endtime from google cal: Tue Mar 7 16:00:00 2017
2017-03-07 14:13:00.072 LUA: carheater starting: Tue Mar 7 14:04:12 2017
2017-03-07 14:13:00.072 LUA: carheater stop at: Tue Mar 7 16:00:00 2017
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage = 0: false
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage > 0: true
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage = 0 after: 10 minutes.
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage > 0 after: 300 minutes.
2017-03-07 14:13:00.072 LUA: Current time is: 14:13:00
2017-03-07 14:13:00.072 LUA: Outside temperature: 0.7 celcius.
2017-03-07 14:13:00.071 LUA: CARHEATER_START: 1488895200 > 0 == tGCalStart
2017-03-07 14:13:00.071 LUA: CARHEATER_START: 528 >= 0 == tlStart
2017-03-07 14:13:00.072 LUA: CARHEATER_START: 1488895200 ~= 1488895200 == tGCalStart ~= tLastRun
2017-03-07 14:13:00.072 LUA: CARHEATER_START: nMotorswitch == 'Off': On
2017-03-07 14:13:00.072 LUA: CARHEATER_START: 3348 > 0 == carheater_runtime > 0:
2017-03-07 14:13:00.072 LUA: Garage Motorvarmaren relay: On
2017-03-07 14:13:00.072 LUA: Last timer run: Tue Mar 7 15:00:00 2017
2017-03-07 14:13:00.072 LUA: Leavingtime from google cal: Tue Mar 7 15:00:00 2017
2017-03-07 14:13:00.072 LUA: Endtime from google cal: Tue Mar 7 16:00:00 2017
2017-03-07 14:13:00.072 LUA: carheater starting: Tue Mar 7 14:04:12 2017
2017-03-07 14:13:00.072 LUA: carheater stop at: Tue Mar 7 16:00:00 2017
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage = 0: false
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage > 0: true
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage = 0 after: 10 minutes.
2017-03-07 14:13:00.072 LUA: Automatic shutoff if usage > 0 after: 300 minutes.
2017-03-07 14:13:00.072 LUA: Current time is: 14:13:00
2017-03-07 14:13:00.072 LUA: Outside temperature: 0.7 celcius.
Fungerade fint nu på morgonen: 2017-03-08 05:58:00.102 LUA: Garage Motorvarmaren startades kl. 05:58:00, utetemperatur ├ñr -4.6 celcius. Den kommer st├ñngas av kl. 07:35:00
Däremot verkar åäö inte fungera så bra i min Domoticz, ska det vara så eller är det något jag missat att ställa in rätt på Raspberry Pi:n eller i Domoticz? Verkade inte som att jag kan använda åäö på devices som styrs av LUA scriptet heller för då ville det inte fungera.
Däremot verkar åäö inte fungera så bra i min Domoticz, ska det vara så eller är det något jag missat att ställa in rätt på Raspberry Pi:n eller i Domoticz? Verkade inte som att jag kan använda åäö på devices som styrs av LUA scriptet heller för då ville det inte fungera.
Vad är det du inte gillar med testet jag länkade? Såväl operativsystem som databaser är normalt sett typexempel på slumpmässig skrivning (mao även läsning när statistiken skall tas fram) och de hastigheter som anges med stora siffror på minneskortens förpackning är för sekventiella operationer, typ att spara ner hela filer från en kamera. Det är inte ovanligt att det skiljer mellan 10-30 ggr i hastighet mellan slumpmässiga och sekventiella skrivningar.HenFre skrev:
Oftast ökar prestandan för slumpmässiga operationer när man höjer prestandan för sekventiella, dock inte i samma takt. Att ett nytt minneskort blir snabbare kan bero på fler saker än bara annonserad sekventiell prestanda.HenFre skrev:Jag bytte minneskort i min RPI 3 från "SanDisk Ultra Micro SDHC I Minneskort 32 GB" till ett "SanDisk Extreme Pro micro SDHC I Minneskort 32 GB" i december.
Det blev en dramatisk skillnad. Från att RPIn inte svarade i webbgränssnittet 3-5 minuter efter varje hel timma så märktes i stort sett inget stopp efter bytet. Och det handlade inte ett specifikt kort. Jag köper alltid 3 kort. Ett för drift. Ett för snabbt byte om det händer något och ett för reserv och tester.
Problemet som kvarstår är att det är stora störningar i systemet mellan 00:00 och en bra tid framöver. Då kan jag fortfarande få vänta på webbgränssnittet i upp till 30 s. Ändå maxar processorn i 6-8% så det borde inte vara annat än I/O-problem.
Att webbgränssnittet tar tid kan jag stå ut med men det påverkar också sensorerna. Jag har 13 st. rörelsesensorer och de tänder och släcker lampor både inne och ute. Det är inte så kul att vänta i 30 sekunder på att en lampa tänds mitt i natten.
RPi är visserligen billig och strömsnål men den har ju gott om nackdelar också: RAM-minnets storlek, delad USB/nätverksbuss mm.HenFre skrev:I ett system som har kostat > 30.000:-- Kr och som går suveränt bra frånsett detta sista med för dålig fart på minneskortet struntar jag fullständigt i om det kostar 1.000:-- Kr till för att få det som jag vill ha det.
Korten du föreslår är väl inte bättre än det jag har vad jag kan se:
Jag har "SanDisk Extreme Pro MicroSDHC 32GB".
Läs: 95 MB/s
Skriv: 90 MB/s
[länk]
Men det verkar som jag får vänta en tid till innan det snabba kortet, som passar i PRIn, kommer.
//Henry
Om storlek och elförbrukning är viktigt så finns det många andra SBC med bättre prestanda: Pine A64, Odroid C2, Asus Tinkerboard mfl. Spontant hade jag valt någon med 2-4 GB RAM och sedan lagt databaserna i en RAM-disk med periodisk backup till en USB- eller nätverksdisk, alternativt en med eMMC-slot.
Om du vill behålla din RPi skulle jag prova att flytta OS från SD-kortet: RPi forums: moving the file system, RPi boot modes och Berryboot
Det enda jag vet om åäö är att det går utmärkt i namn på på devices och Domoticz-variabler om man använder dzVents. Men inte i variabelnamn i LUA-koden.fremar skrev:Fungerade fint nu på morgonen: 2017-03-08 05:58:00.102 LUA: Garage Motorvarmaren startades kl. 05:58:00, utetemperatur ├ñr -4.6 celcius. Den kommer st├ñngas av kl. 07:35:00
Däremot verkar åäö inte fungera så bra i min Domoticz, ska det vara så eller är det något jag missat att ställa in rätt på Raspberry Pi:n eller i Domoticz? Verkade inte som att jag kan använda åäö på devices som styrs av LUA scriptet heller för då ville det inte fungera.
//Henry
Ok, den texten som såg knasig ut med äåö kunde jag ändra så den blev rätt. Har lagt in den LUA koden under events, lua och time och där verkar det inte gå att ha åäö på någon device. Det andra lua scriptet som körs för att hämta från google kalendern ligger i /home/pi/domoticz/scripts/lua och det editerade jag med nano, verkade inte vilja fungera med åäö där heller. Hur fungerar det dzVents då, går det bara att lägga in de .lua scripten som jag har och som fungerar redan rätt in i det utan att ändra på dem?HenFre skrev:
Det tror jag inte går. Du måste nog skriva egen kod. I dzVents skriver man bara korta subrutiner som triggas av en händelse eller tid. Men idéerna finns ju. Men programmeringen blir kompakt och effektiv eftersom ramverket är på plats. Man behöver bara koda för just det som ska hända och när.fremar skrev:Ok, den texten som såg knasig ut med äåö kunde jag ändra så den blev rätt. Har lagt in den LUA koden under events, lua och time och där verkar det inte gå att ha åäö på någon device. Det andra lua scriptet som körs för att hämta från google kalendern ligger i /home/pi/domoticz/scripts/lua och det editerade jag med nano, verkade inte vilja fungera med åäö där heller. Hur fungerar det dzVents då, går det bara att lägga in de .lua scripten som jag har och som fungerar redan rätt in i det utan att ändra på dem?
//Henry
Inget jag får annat än de gånger servern är upptagen och då försvinner den så snart servern svarar igen. Men efter att jag graderade upp SD-kortet så är det sällsynt.fremar skrev:
//Henry