Page 2 of 11

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
jneander wrote:Hej
Jag har installerat och fått igång det mesta men när jag schemalägger aktiviteter så ser jag aktiviteterna i kommande händelser men det händer inget med mina lampor vid de utsatta tidpunkterna. Jag kan sätta på och stänga av genom att klicka på lamporna i planlösningen så jag har kontakt med dom via homeautmation.
Det schema jag gjort är att tända lamporna vid solnedgång och släcka dem igen vid 22.
Vart kan jag söka efter vad som är fel?
Hej,

Du skrev aldrig vilket OS du kör men för Linux kolla så att .deny filerna inte innehåller www-data användaren för cron och at, kolla också att atd deamonen är igång. På Windows sidan beror det lite på vilket version och språk du kör, men i pricip skall det fungera bara du lägger in användarnamn och lösenord för systemet under Inställningar.

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by jneander
tom_rosenback wrote: Hej,

Du skrev aldrig vilket OS du kör men för Linux kolla så att .deny filerna inte innehåller www-data användaren för cron och at, kolla också att atd deamonen är igång. På Windows sidan beror det lite på vilket version och språk du kör, men i pricip skall det fungera bara du lägger in användarnamn och lösenord för systemet under Inställningar.
Hej Tom
Tack det hjälpte. Jag kör Linus och www-data fanns kvar i en .deny-fil
När jag ändå håller på. När man schemalägger som jag gjort ovan så kommer det en tidpunkt när solnedgången inträffar efter att lamporna ska släckas vilket betyder att lamporna kommer släckas kl 22 och tändas ngn gång efter. Finns det något sätt att förhindra detta automatiskt? Typ: Om sol_on inträffar efter lamp_off kör inte.

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by patrikg
Testa och kör atq från kommando prompten för att lista alla köade program.

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
jneander wrote:
tom_rosenback wrote: Hej,

Du skrev aldrig vilket OS du kör men för Linux kolla så att .deny filerna inte innehåller www-data användaren för cron och at, kolla också att atd deamonen är igång. På Windows sidan beror det lite på vilket version och språk du kör, men i pricip skall det fungera bara du lägger in användarnamn och lösenord för systemet under Inställningar.
Hej Tom
Tack det hjälpte. Jag kör Linus och www-data fanns kvar i en .deny-fil
När jag ändå håller på. När man schemalägger som jag gjort ovan så kommer det en tidpunkt när solnedgången inträffar efter att lamporna ska släckas vilket betyder att lamporna kommer släckas kl 22 och tändas ngn gång efter. Finns det något sätt att förhindra detta automatiskt? Typ: Om sol_on inträffar efter lamp_off kör inte.
Gött!

Som du har det konfat på bilden så är det enbart statiskt av 22 dom kommer att köras om sol ner sker efter 22. Så det borde inte vara något problem.

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by jneander
patrikg wrote:Testa och kör atq från kommando prompten för att lista alla köade program.
Ja det som händer är följande att lampan släcks för att sedan tändas. Se bilder.

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by patrikg
Kör "sudo at -c 6" för att lista vad som skall köras som nummer 6.
Kolla sista raden vad som skall köras. Så att alla sökvägar till php och till run.php stämmer.
Jag hade själv problem med detta då det inte stämmde med antalet "/".
Så jag fick ändra i configgen i ha, för att det skulle stämma. (en liten workaround så att säga)
Det är mycket möjligt att programmerarna till ha har fixat denna bugg.

Du kan juh också klippa ut sista raden och testa att köra den på kommando raden.
för att se om den ger ifrån sig något error. För felsökning.

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by jneander
tom_rosenback wrote:
jneander wrote:
tom_rosenback wrote: Hej,

Du skrev aldrig vilket OS du kör men för Linux kolla så att .deny filerna inte innehåller www-data användaren för cron och at, kolla också att atd deamonen är igång. På Windows sidan beror det lite på vilket version och språk du kör, men i pricip skall det fungera bara du lägger in användarnamn och lösenord för systemet under Inställningar.
Hej Tom
Tack det hjälpte. Jag kör Linus och www-data fanns kvar i en .deny-fil
När jag ändå håller på. När man schemalägger som jag gjort ovan så kommer det en tidpunkt när solnedgången inträffar efter att lamporna ska släckas vilket betyder att lamporna kommer släckas kl 22 och tändas ngn gång efter. Finns det något sätt att förhindra detta automatiskt? Typ: Om sol_on inträffar efter lamp_off kör inte.
Gött!



Som du har det konfat på bilden så är det enbart statiskt av 22 dom kommer att köras om sol ner sker efter 22. Så det borde inte vara något problem.
Om du kollar min post ovan så kan du se när det kan bli problem.
Detta är vad jag vill ska hända:
Sol ner
* Alltid statisk släckning kl XX:XX
* Om solen_gått_ner och kl < XX:XX
- Tänd lampan
* annars cancel statisk släckning kl XX:XX

Samma för solupp så klart
* Alltid statisk tändning kl YY:YY
* Om solen_gått_upp och kl > YY:YY
- Släck lampan

Den ska även hantera att solen kan gå ner efter midnatt och om tiden för släckning är innan midnatt (typ 22:00) ska det inte tändas på natten och vara tänt till 22:00 kvällen efter

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by Daniel
jneander wrote:Om du kollar min post ovan så kan du se när det kan bli problem.
Detta är vad jag vill ska hända:
Sol ner
* Alltid statisk släckning kl XX:XX
* Om solen_gått_ner och kl < XX:XX
- Tänd lampan
* annars cancel statisk släckning kl XX:XX
Sitter och försöker förstå exakt hur du menar, men alltså: Om du gör t ex en aktivering som tänder när solen går ner och så en aktivering som släcker klockan tio så kan två saker inträffa:

1. Solen går ner före tio. Vad som händer då är att lampan tänds när solen går ner och så släcks den igen klockan tio.

2. Solen går ner efter tio. Vad som händer då är ingenting alls, ingen av dessa aktiveringar körs.

Eller för att citera manualen:

Please note that the order of the activations is very important! Activations that are in a
specific order in the list and not the same order time wise cancel each other out. This for
example makes it possible to make a static activation that turns the devices on at 06:00 and
then a sun controlled activation that turns them off again at sunrise and then neither of
those activations will be run if the sunrise is before 06:00. If you need to re-order the
activations just drag and drop them into the correct order.

/Daniel

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by jneander
Daniel wrote:
jneander wrote:Om du kollar min post ovan så kan du se när det kan bli problem.
Detta är vad jag vill ska hända:
Sol ner
* Alltid statisk släckning kl XX:XX
* Om solen_gått_ner och kl < XX:XX
- Tänd lampan
* annars cancel statisk släckning kl XX:XX
Sitter och försöker förstå exakt hur du menar, men alltså: Om du gör t ex en aktivering som tänder när solen går ner och så en aktivering som släcker klockan tio så kan två saker inträffa:

1. Solen går ner före tio. Vad som händer då är att lampan tänds när solen går ner och så släcks den igen klockan tio.

2. Solen går ner efter tio. Vad som händer då är ingenting alls, ingen av dessa aktiveringar körs.

Eller för att citera manualen:

Please note that the order of the activations is very important! Activations that are in a
specific order in the list and not the same order time wise cancel each other out. This for
example makes it possible to make a static activation that turns the devices on at 06:00 and
then a sun controlled activation that turns them off again at sunrise and then neither of
those activations will be run if the sunrise is before 06:00. If you need to re-order the
activations just drag and drop them into the correct order.

/Daniel
Precis så menar jag och det hade varit bra om det fungerade så som manualen specar men det gör det inte. Kolla mitt testschema nedan i bilden och dump ifrån linux så ser du att de schemaläggs iaf.
--------
pi@raspberrypi ~ $ sudo atq
29 Wed Apr 16 20:55:00 2014 a www-data
28 Wed Apr 16 21:01:00 2014 a www-data
25 Wed Apr 16 22:15:00 2014 a www-data
27 Wed Apr 16 23:59:00 2014 a www-data
pi@raspberrypi ~ $ sudo at -c 29
#!/bin/sh
# atrun uid=33 gid=33
# mail www-data 0
umask 22
APACHE_RUN_DIR=/var/run/apache2; export APACHE_RUN_DIR
APACHE_PID_FILE=/var/run/apache2.pid; export APACHE_PID_FILE
PATH=/usr/local/bin:/usr/bin:/bin; export PATH
APACHE_LOCK_DIR=/var/lock/apache2; export APACHE_LOCK_DIR
LANG=C; export LANG
APACHE_RUN_USER=www-data; export APACHE_RUN_USER
APACHE_RUN_GROUP=www-data; export APACHE_RUN_GROUP
APACHE_LOG_DIR=/var/log/apache2; export APACHE_LOG_DIR
PWD=/var/www/homeautomation; export PWD
cd /var/www/homeautomation || {
echo 'Execution directory inaccessible' >&2
exit 1
}
/usr/bin//php /var/www/homeautomation/run.php command=activation id=17

pi@raspberrypi ~ $ sudo at -c 28
#!/bin/sh
# atrun uid=33 gid=33
# mail www-data 0
umask 22
APACHE_RUN_DIR=/var/run/apache2; export APACHE_RUN_DIR
APACHE_PID_FILE=/var/run/apache2.pid; export APACHE_PID_FILE
PATH=/usr/local/bin:/usr/bin:/bin; export PATH
APACHE_LOCK_DIR=/var/lock/apache2; export APACHE_LOCK_DIR
LANG=C; export LANG
APACHE_RUN_USER=www-data; export APACHE_RUN_USER
APACHE_RUN_GROUP=www-data; export APACHE_RUN_GROUP
APACHE_LOG_DIR=/var/log/apache2; export APACHE_LOG_DIR
PWD=/var/www/homeautomation; export PWD
cd /var/www/homeautomation || {
echo 'Execution directory inaccessible' >&2
exit 1
}
/usr/bin//php /var/www/homeautomation/run.php command=activation id=16

--------

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by Daniel
jneander wrote:Precis så menar jag och det hade varit bra om det fungerade så som manualen specar men det gör det inte. Kolla mitt testschema nedan i bilden och dump ifrån linux så ser du att de schemaläggs iaf.
Har kollat lite kod nu (var ett par år sedan den gjordes så varken jag eller Tom minns riktigt exakt hur logiken ser ut) och testat och kommit fram till att du på ett sätt har rätt. Det läggs upp at-jobb. Dock görs det en kontroll vid run-time och det är DÅ aktiveringar tar ut varandra, så om allt funkar som det ska (och det gör det här) så ska det hända absolut ingenting sedan när de väl körs. Dock visade det sig här att "Kommande händelser" visar ju upp aktiveringen, vilket den ju rimligtvis inte borde göra i det här fallet...

/Daniel

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by jneander
Daniel wrote:
jneander wrote:Precis så menar jag och det hade varit bra om det fungerade så som manualen specar men det gör det inte. Kolla mitt testschema nedan i bilden och dump ifrån linux så ser du att de schemaläggs iaf.
Har kollat lite kod nu (var ett par år sedan den gjordes så varken jag eller Tom minns riktigt exakt hur logiken ser ut) och testat och kommit fram till att du på ett sätt har rätt. Det läggs upp at-jobb. Dock görs det en kontroll vid run-time och det är DÅ aktiveringar tar ut varandra, så om allt funkar som det ska (och det gör det här) så ska det hända absolut ingenting sedan när de väl körs. Dock visade det sig här att "Kommande händelser" visar ju upp aktiveringen, vilket den ju rimligtvis inte borde göra i det här fallet...

/Daniel
Jag har suttit och försökt hitta vart schemat läggs in och se om jag kan modda koden till det jag vill.
Jag antar att det är i updateAtForSchedule? Jag måste bara förstå hur jag kommer åt det aktuella schemat så jag kan köra logik på det eller görs det i en annan funktion? Jag har programmeringsvana så jag kan fixa det själv men jag tar gärna emot hjälp vart jag hittar saker så jag slipper följa hela kedjan och allt runtomkring =)

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by patrikg
Exakt... Här har du ett problem, för att fixa en (annan) bugg.

/usr/bin//php /var/www/homeautomation/run.php command=activation id=16

Det är dubbla "//" framför php.
Ta bort ett "/" i configgen, det vill säga sökvägen till php.

Det kan juh vara lite knepigt att bestämma hur man skall skriva in en sökväg.
Om den skall sluta med ett "/" eller inte.
Tror att om man skall få någon bra ordning på detta vid programmering utav script och liknande
så att man täcker upp alla fall. Så får man nog känna utav vad användaren skrivit in.
Om det slutar med ett "/" eller inte.
Om man behöver lägga till ett "/" till sökvägen till ett program eller en fil.

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
patrikg wrote:Exakt... Här har du ett problem.
/usr/bin//php /var/www/homeautomation/run.php command=activation id=16

Det är dubbla "//" framför php.
Ta bort ett "/" i configgen, det vill säga sökvägen till php.
Dubbla slash har inget med detta att göra, linux har heller ingen skillnad hur många slash man har efter varann (även om det ser fel ut)

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by patrikg
När jag nu håller på så fick jag ändra i andra filer också.
Kom inte riktigt ihåg varför. Ändra raden så att den även innhåller substr.

sudo nano graph.php
<img src="<?php echo substr(getGraph($sensor, $name, $limit, $interval, $showNow, $showHistory, $width, $height),12);

Samt ville också att den bara lägger in två decimaler vid reg utav temp.
Så då ändrade jag lite vid owfs så att bra två decimaler läggs in i mysql servern.

sudo nano functions.php
"temp_c" => round((trim($value) * 1),2),

Re: v3.0.1 released

Posted: Fri Mar 17, 2023 9:45 am
by jneander
Daniel wrote:
jneander wrote:Precis så menar jag och det hade varit bra om det fungerade så som manualen specar men det gör det inte. Kolla mitt testschema nedan i bilden och dump ifrån linux så ser du att de schemaläggs iaf.
Har kollat lite kod nu (var ett par år sedan den gjordes så varken jag eller Tom minns riktigt exakt hur logiken ser ut) och testat och kommit fram till att du på ett sätt har rätt. Det läggs upp at-jobb. Dock görs det en kontroll vid run-time och det är DÅ aktiveringar tar ut varandra, så om allt funkar som det ska (och det gör det här) så ska det hända absolut ingenting sedan när de väl körs. Dock visade det sig här att "Kommande händelser" visar ju upp aktiveringen, vilket den ju rimligtvis inte borde göra i det här fallet...

/Daniel
Jag har nog funnit problemet. Det blir fel första gången man schemalägger en aktivitet men efter att ej dagen efter den körts en gång. Så jag antar att validateActivationForExecution fungerar rätt men inte första gången man lägger till/ändrar ett schema. Återkommer med mera info om inte du hinner före :lol: