Husk mig
▼ Indhold

Hvem pusler med Linux.?



Side 3 af 3<123
28-02-2026 15:29
Jakob
★★★★★
(10128)
­


Et script finder et datasæt...
https://energidataservice.dk/tso-electricity/DayAheadPrices
... og downloader elpriserne med tider for de næste 23 timer og lægger disse data i en fil...

Et andet script behandler og filtrerer disse data og bygger en ny datafil, som indeholder de data, der opfylder kriterierne.

Kommandoen er opbygget på samme måde som tidligere, men nu også med et argument for intervaller, som kan ændres.

I princippet således:

downloadkommando (intervalstørrelse i minutter) (antal intervaller, der skal kigges frem) (antal laveste prisintervaller, der skal udvælges) (prisloft)

Dvs:

downloadkommando 60 10 3 1000

vil som altid begynde med at hente et dataset med priser 23 timer frem og lægge det i en fil.

60 => Dernæst vil Linux finde gennemsnitspriser for hver hele time (60 min), så der opstår et nyt dataset med timeintervaller
Som at gå fra dette:
https://data.nordpoolgroup.com/auction/day-ahead/prices?deliveryDate=latest&currency=DKK&aggregation=DeliveryPeriod&deliveryAreas=DK1,DK2
til dette:
https://data.nordpoolgroup.com/auction/day-ahead/price-indices?deliveryDate=latest&currency=DKK&resolutionInMinutes=60&indexNames=AT,DK1,DK2


10 => sørger for, at der i det næste kun kigges 10 timer frem


3 => Ud af disse 10 bliver de 3 billigste udvalgt.


1000 => De af de 3 intervaller, som har en højere pris end 1 kr/kWt (= 1000) vil blive slettet, og resten bliver indholdet i den færdige datafil.



Efter to dages vildt ridt med AIner ser det måske ud til, at det kan lykkes med den indbyggede software i MX25
Men jeg tør næsten ikke teste noget i dag.
Jeg gruer for, at det vil kaste mig ud i en ny uoverskuelig lavine af omskrivninger og tests.
Med den allerstørste respekt for den hjælp, som AI kan yde til programmering, så kan det stadig være udmattende at følge med.
Jeg mindes Yvonne, der havde været på fabrik, og den langhårede, der blev overhalet i Bjergkøbing Grand Prix.
Lidt søndagskørsel på motorcykel (pusle med Linux) på en moto-cross bane. Det burde være noget for de unge.

Det skulle være mærkeligt, hvis der ikke er mere at debugge. Men til gengæld bør programmet faktisk være så avanceret, at det kan håndtere ethvert ønskeligt interval, som kan deles med 15
Og så skal jeg allerede selv holde tungen lige i munden bare for at hitte ud af syntaksen.

Man kan f.eks. forestille sig en opvaskemaskine, en ovn eller noget andet, som skal være tændt 2 timer i sammenhæng indenfor de næste 14 timer, og så bliver 60 minutters intervaller også for korte.
Men så ændrer man blot syntaksen til 120 minutters intervaller:

downloadkommando 120 7 1 9999

Hvis prisen ikke overstiger 10 kr/kWt (9999), så bør ovenstående kommando give mig en datafil, hvor der kun findes et enkelt klokkeslæt, som er starttidspunktet for de to timer, der skal være tændt. Det skal så blot læses og bruges som kilde til et helt tredje script, som indkoder starttidspunktet og får relæet til at klikke til tiden. Denne sidste del kan måske beskrevet med ord virke ligeså kompliceret at kode, men den er til sammenligning pære let.



MX25 kører så fint og stabilt, at jeg allerede påtænker snart at opgradere alle mine gamle computere.
Et par stykker af dem har et fladt CMOS-batteri, så de glemmer klokken, hvis de ikke har et stort batteri eller UPS, og strømmen bliver afbrudt.
Dertil er jeg begyndt at bygge et script, som køres under boot-up, når strømmen kommer igen, og det får MX til at begynder med at tilgå internettet for at indstille tiden.
Og MX bliver ved med jævnligt at give et lille alarmlydsignal, i hvert fald indtil uret er indstillet til det rigtige årti.
Nu, hvor jeg også afbryder routeren for at spare strøm, så kan der godt gå 1-2 minutter, før routeren er klar efter MX er oppe, og så er det også praktisk, at der lyder en fanfare, når alt er parat også til at gå online.




­
RE: Tariffer..et lille selvtillidsscript...03-03-2026 19:22
Jakob
★★★★★
(10128)
­



Jeg tænkte, at det kunne være godt at opbygge lidt mere MX25-selvtillid, før den grundige test af scriptet, som skal ændre størrelse på intervallerne.

Til sammenligning burde det være meget nemmere at bygge et script, som lægger
N1 tariffer til de downloadede 15 minutters intervaller.

Så den opgave kastede vi (Ainer og jeg) os grådigt over, så det gik helt op i hat og briller i to dage.
Vi fik startet for ambitiøst og uklart, og det har jeg lært af. Det var ikke Ainers skyld, men vi løb tør for tid, og så blev det google, der i dag omsider byggede det første script, som kan lægge tariffer til de 15 minutters priser, som jeg har downloadet.


Her en konstrueret downloadet fil med prisen 1 kr/kWt ud for alle tidsintervaller:

TimeDK;DayAheadPriceDKK
2026-03-02 14:45:00;1000,000000
2026-03-02 15:00:00;1000,000000
2026-03-02 15:15:00;1000,000000
2026-03-02 15:30:00;1000,000000
2026-03-02 15:45:00;1000,000000
2026-03-02 16:00:00;1000,000000
2026-03-02 16:15:00;1000,000000
2026-03-02 16:30:00;1000,000000
2026-03-02 16:45:00;1000,000000
2026-03-02 17:00:00;1000,000000
2026-03-02 17:15:00;1000,000000
2026-03-02 17:30:00;1000,000000
2026-03-02 17:45:00;1000,000000
2026-03-02 18:00:00;1000,000000
2026-03-02 18:15:00;1000,000000
2026-03-02 18:30:00;1000,000000
2026-03-02 18:45:00;1000,000000
2026-03-02 19:00:00;1000,000000
2026-03-02 19:15:00;1000,000000
2026-03-02 19:30:00;1000,000000
2026-03-02 19:45:00;1000,000000
2026-03-02 20:00:00;1000,000000
2026-03-02 20:15:00;1000,000000
2026-03-02 20:30:00;1000,000000
2026-03-02 20:45:00;1000,000000
2026-03-02 21:00:00;1000,000000
2026-03-02 21:15:00;1000,000000
2026-03-02 21:30:00;1000,000000
2026-03-02 21:45:00;1000,000000
2026-03-02 22:00:00;1000,000000
2026-03-02 22:15:00;1000,000000
2026-03-02 22:30:00;1000,000000
2026-03-02 22:45:00;1000,000000
2026-03-02 23:00:00;1000,000000
2026-03-02 23:15:00;1000,000000
2026-03-02 23:30:00;1000,000000
2026-03-02 23:45:00;1000,000000
2026-03-03 00:00:00;1000,000000
2026-03-03 00:15:00;1000,000000
2026-03-03 00:30:00;1000,000000
2026-03-03 00:45:00;1000,000000
2026-03-03 01:00:00;1000,000000
2026-03-03 01:15:00;1000,000000
2026-03-03 01:30:00;1000,000000
2026-03-03 01:45:00;1000,000000
2026-03-03 02:00:00;1000,000000
2026-03-03 02:15:00;1000,000000
2026-03-03 02:30:00;1000,000000
2026-03-03 02:45:00;1000,000000
2026-03-03 03:00:00;1000,000000
2026-03-03 03:15:00;1000,000000
2026-03-03 03:30:00;1000,000000
2026-03-03 03:45:00;1000,000000
2026-03-03 04:00:00;1000,000000
2026-03-03 04:15:00;1000,000000
2026-03-03 04:30:00;1000,000000
2026-03-03 04:45:00;1000,000000
2026-03-03 05:00:00;1000,000000
2026-03-03 05:15:00;1000,000000
2026-03-03 05:30:00;1000,000000
2026-03-03 05:45:00;1000,000000
2026-03-03 06:00:00;1000,000000
2026-03-03 06:15:00;1000,000000
2026-03-03 06:30:00;1000,000000
2026-03-03 06:45:00;1000,000000
2026-03-03 07:00:00;1000,000000
2026-03-03 07:15:00;1000,000000
2026-03-03 07:30:00;1000,000000
2026-03-03 07:45:00;1000,000000
2026-03-03 08:00:00;1000,000000
2026-03-03 08:15:00;1000,000000
2026-03-03 08:30:00;1000,000000
2026-03-03 08:45:00;1000,000000
2026-03-03 09:00:00;1000,000000
2026-03-03 09:15:00;1000,000000
2026-03-03 09:30:00;1000,000000
2026-03-03 09:45:00;1000,000000
2026-03-03 10:00:00;1000,000000
2026-03-03 10:15:00;1000,000000
2026-03-03 10:30:00;1000,000000
2026-03-03 10:45:00;1000,000000
2026-03-03 11:00:00;1000,000000
2026-03-03 11:15:00;1000,000000
2026-03-03 11:30:00;1000,000000
2026-03-03 11:45:00;1000,000000
2026-03-03 12:00:00;1000,000000
2026-03-03 12:15:00;1000,000000
2026-03-03 12:30:00;1000,000000
2026-03-03 12:45:00;1000,000000
2026-03-03 13:00:00;1000,000000
2026-03-03 13:15:00;1000,000000
2026-03-03 13:30:00;1000,000000






Her en ny fil, som scriptet har opbygget med tarifferne fra N1 vintersæson lagt til:


TimeDK;DayAheadPriceDKK
2026-03-02 14:45:00;1329,500000
2026-03-02 15:00:00;1329,500000
2026-03-02 15:15:00;1329,500000
2026-03-02 15:30:00;1329,500000
2026-03-02 15:45:00;1329,500000
2026-03-02 16:00:00;1329,500000
2026-03-02 16:15:00;1329,500000
2026-03-02 16:30:00;1329,500000
2026-03-02 16:45:00;1329,500000
2026-03-02 17:00:00;1988,400000
2026-03-02 17:15:00;1988,400000
2026-03-02 17:30:00;1988,400000
2026-03-02 17:45:00;1988,400000
2026-03-02 18:00:00;1988,400000
2026-03-02 18:15:00;1988,400000
2026-03-02 18:30:00;1988,400000
2026-03-02 18:45:00;1988,400000
2026-03-02 19:00:00;1988,400000
2026-03-02 19:15:00;1988,400000
2026-03-02 19:30:00;1988,400000
2026-03-02 19:45:00;1988,400000
2026-03-02 20:00:00;1988,400000
2026-03-02 20:15:00;1988,400000
2026-03-02 20:30:00;1988,400000
2026-03-02 20:45:00;1988,400000
2026-03-02 21:00:00;1329,500000
2026-03-02 21:15:00;1329,500000
2026-03-02 21:30:00;1329,500000
2026-03-02 21:45:00;1329,500000
2026-03-02 22:00:00;1329,500000
2026-03-02 22:15:00;1329,500000
2026-03-02 22:30:00;1329,500000
2026-03-02 22:45:00;1329,500000
2026-03-02 23:00:00;1329,500000
2026-03-02 23:15:00;1329,500000
2026-03-02 23:30:00;1329,500000
2026-03-02 23:45:00;1329,500000
2026-03-03 00:00:00;1109,800000
2026-03-03 00:15:00;1109,800000
2026-03-03 00:30:00;1109,800000
2026-03-03 00:45:00;1109,800000
2026-03-03 01:00:00;1109,800000
2026-03-03 01:15:00;1109,800000
2026-03-03 01:30:00;1109,800000
2026-03-03 01:45:00;1109,800000
2026-03-03 02:00:00;1109,800000
2026-03-03 02:15:00;1109,800000
2026-03-03 02:30:00;1109,800000
2026-03-03 02:45:00;1109,800000
2026-03-03 03:00:00;1109,800000
2026-03-03 03:15:00;1109,800000
2026-03-03 03:30:00;1109,800000
2026-03-03 03:45:00;1109,800000
2026-03-03 04:00:00;1109,800000
2026-03-03 04:15:00;1109,800000
2026-03-03 04:30:00;1109,800000
2026-03-03 04:45:00;1109,800000
2026-03-03 05:00:00;1109,800000
2026-03-03 05:15:00;1109,800000
2026-03-03 05:30:00;1109,800000
2026-03-03 05:45:00;1109,800000
2026-03-03 06:00:00;1329,500000
2026-03-03 06:15:00;1329,500000
2026-03-03 06:30:00;1329,500000
2026-03-03 06:45:00;1329,500000
2026-03-03 07:00:00;1329,500000
2026-03-03 07:15:00;1329,500000
2026-03-03 07:30:00;1329,500000
2026-03-03 07:45:00;1329,500000
2026-03-03 08:00:00;1329,500000
2026-03-03 08:15:00;1329,500000
2026-03-03 08:30:00;1329,500000
2026-03-03 08:45:00;1329,500000
2026-03-03 09:00:00;1329,500000
2026-03-03 09:15:00;1329,500000
2026-03-03 09:30:00;1329,500000
2026-03-03 09:45:00;1329,500000
2026-03-03 10:00:00;1329,500000
2026-03-03 10:15:00;1329,500000
2026-03-03 10:30:00;1329,500000
2026-03-03 10:45:00;1329,500000
2026-03-03 11:00:00;1329,500000
2026-03-03 11:15:00;1329,500000
2026-03-03 11:30:00;1329,500000
2026-03-03 11:45:00;1329,500000
2026-03-03 12:00:00;1329,500000
2026-03-03 12:15:00;1329,500000
2026-03-03 12:30:00;1329,500000
2026-03-03 12:45:00;1329,500000
2026-03-03 13:00:00;1329,500000
2026-03-03 13:15:00;1329,500000
2026-03-03 13:30:00;1329,500000


Hvem kan finde fejl.?

Mit system er en smule primitivt angående tarif-input, men jeg har selvfølgelig scriptet, hvis andre, måske især N1 kunder, måtte ønske det.



­
RE: Vi ka' Linux = Vi ka' li luksus.!11-03-2026 16:28
Jakob
★★★★★
(10128)
­

MX25 Xfce


Når man har installeret sin .iso fil på en USB-disk, som man kan boote på, så er MX25 Xfce nem at installere og komme i gang med at bruge.
(Jeg bør måske sige lidt om root profilen... mange vil gerne være root, fordi det er systemets øverste general, som kan og må alt... men jeg har ikke brug for den i mit nuværende udviklingsarbejde, så jeg giver den blot et meget langt password. Det brugernavn, som jeg selv har valgt, tildeler jeg "autologin", så jeg ikke skal taste password ved hver genstart og login. Som begynder er det ingen skam at fortryde noget kort efter installationen og starte forfra. Det er tværtimod en god måde at lære på.)

Selve den specialiserede konfiguration kan man gøre til en hyggelig hobby, og så vil kun fantasi og tid sætte grænser for, hvor meget mere der kan gøres.


Men når konfigurationen er på et tilfredsstillende niveau, så kan man tage et "MX Øjebliksbillede" (en snapshot), som skaber en ny .iso fil, der er en tro kopi af hele installationen med konfiguration. Den kan man så tilsvarende benytte værktøjet "MX Live USB-skaber" til med .iso filen at skabe en ny USB-disk, som der også kan bootes på.

Sådan en disk har jeg nu, og den er blevet brugt til at opgradere og tjekke flere ældre computere.

Fra jeg booter op på USB-disken og starter installationen, og indtil MX er helt færdiginstalleret, og jeg kan boote op forfra uden USB-disk, så går der kun ( hold nu fast) 4-5 minutter.!

Jeg har 2 stk. computere til hjemmeautomatisering, som efter installationen straks var færdige og fuldt ud klar til brug igen.

Det er selvfølgelig ikke så meget, men har man f.eks. også et par børnecomputere eller gæstecomputere, som man i en given situation gerne hurtigt vil kunne rense fuldstændigt og genetablere på en sikker måde, så kender jeg ingen bedre vej. Tak til udviklerne. Det er luksus.!



­
14-03-2026 15:58
Jakob
★★★★★
(10128)
­


Med hensyn til at optimere og fejlfinde scriptet, der skal håndtere datasættet med elprisintervaller, så går jeg stadig som katten om den varme grød.
Jeg er bange for, at det er blevet for avanceret i en sådan grad, at jeg må starte helt forfra.

Men mens grøden svaler af, så er det jo godt, at der altid er noget andet, som jeg kan konfigurere og scripte.


Når batteriet til BIOS bliver fladt, så kan computeren ikke huske klokken efter en strømafbrydelse.
Det kan være uheldigt, så jeg tester nu et sikkerheds-script, som ved opstart sørger for wifi-forbindelse og først melder klar, når computeren har haft tid til selv at indstille uret.


Når man har installeret MX fra bunden, så vil der nok typisk være flere ting, som man gerne vil ændre, og har man flere computere, så kan noget af det godt blive lidt trivielt.
Jeg har f.eks. nogle netværksforbindelser og genvejstaster, som jeg altid benytter. Til dem har jeg nu bygget et script, så det hele kan konfigureres på under et sekund og fjernes igen ligeså hurtigt. Det er luksus.


Som en mindre detalje og noget nyt har jeg også tilføjet en genvejstast, der kan skrive det aktuelle tidspunkt.
Det har Windows-brugerne sikkert også, men hvis ikke, så bør de selvfølgelig drilles lidt på det venskabelige plan.
Tataa:

Tid-15-53-10--14mar2026
Vil I se igen?
Ok:
Tid-15-53-32--14mar2026
Jeg behøver jo sådan set ikke at fedte med dem:
Tid-15-54-05--14mar2026
Tid-15-54-09--14mar2026
Tid-15-54-11--14mar2026
Tid-15-54-13--14mar2026
Tid-15-54-17--14mar2026

Sådan, så er der lidt til dem, der måtte mangle.


­
­
15-03-2026 15:51
Jakob
★★★★★
(10128)
­


Lidt rigeligt langhåret på en forårsdag til en bonderøvs amatørprogrammør som mig, men jeg valgte at behandle elpris-datafilen forfra således med MX25 og hjælp fra google AI:



Udgangspunkt den downloadede fil med priser for 15 minutters intervaller 23 timer frem.


Tillægger tariffer i en ny fil.
Trimmer filen ren i begge ender i ny fil.
Udtrækker og beregner data til ny fil, 1 times intervaller 23 timer frem
Udtrækker og beregner data til ny fil, 2 times intervaller 23 timer frem
Udtrækker og beregner data til ny fil, 3 times intervaller 23 timer frem
Udtrækker og beregner data til ny fil, 4 times intervaller 23 timer frem

Så fik jeg da nogle filer at kigge på. lol

Men det er for mig samtidigt også et menukort til kontrol og den sidste vanskeligste kodning.

F.eks.:

"kommandonavn c 1h 23 6 9999"

c fortæller, at jeg ønsker de laveste priser ("e" ville give de dyreste)
1h fortæller, at jeg ønsker 1-times intervaller (1h - 4h)
23 fortæller, at jeg vil udvælge i en periode, som rækker 23 timer frem fra downloadtidspunktet (1-23)
6 fortæller, at jeg ønsker 6 stk intervaller
9999 fortæller, at prisen ikke må overstige 10 kr/kWt (1000=1kr)


TimeDK;DayAheadPriceDKK
2026-03-16 05:00:00;389,480737
2026-03-16 00:00:00;365,101377
2026-03-16 01:00:00;284,117076
2026-03-16 04:00:00;259,681676
2026-03-16 02:00:00;241,243034
2026-03-16 03:00:00;215,443882



Og med 2-times intervaller:
c 2h 23 3 9999


TimeDK;DayAheadPriceDKK
2026-03-16 04:00:00;324,581206
2026-03-16 00:00:00;324,609227
2026-03-16 02:00:00;228,343458



Og starttidspunkt for den billigste sammenhængende 3 timers periode:
c 3h 23 1 9999


TimeDK;DayAheadPriceDKK
2026-03-16 03:00:00;288,202098


Der skal testes en del mere, men det begynder så småt at ligne noget nu.


­
18-03-2026 13:02
Jakob
★★★★★
(10128)
­



Nu er de nye scripts omsider kædet sammen og sat i drift, så automatikken igen kører med de 1-times intervaller, som mine el-målere er bygget til.
15-minutters intervaller fører kun til ekstra omkostninger, når el-målerne kun kan fjernaflæses en gang pr. time.
2-4 timers billigste intervaller er ikke alt for godt udvalgt i mit system, og det bør jeg måske se nærmere på, hvis jeg engang får brug for det.

Men f.eks. med hensyn til nedjustering af varmepumpeforbruget, så har jeg overgivet mig til tariffen og kører det nu helt død kedeligt efter klokken, næsten som et tænd/sluk-ur. Og så ændrer koden sig straks til noget meget mere overskueligt, som de fleste nok bedre kan hitte ud af og jonglere med:



Kl 17:00 trækkes relæ 2, som afbryder strømmen til en vekslerpumpe, og 4 timer senere afbrydes relæet, så pumpen får strøm igen:

Koden:

echo "DISPLAY=:0 autousb 2 && autousb 2q 4h" | at -M 17:00



Når man ved, hvad linjen gør, så er den måske ikke så vanskelig at gennemskue og tilrette efter ønske. Får du lyst til at prøve, så er du på rette vej. Den virker kun med den rette konfiguration, og er den ikke på plads, så er det nok klogest ikke bare at fyre den af i Terminalen.


Men en gammel computer, USB-relæer og Shelly, så er det nærmest kun fantasien, der sætter grænser for alt det, som Linux kan styre for os.
Ikke så ringe endda.






­
28-03-2026 17:46
Jakob
★★★★★
(10128)
­



Og her er så kommandoen, som via et 'switch-script', som jeg har bygget, kan få en bestemt shelly-kontakt til at slukke for køleskabet kl 18:00 og holde det slukket i 10800 sekunder (3 timer):

echo "DISPLAY=:0 switchscript koeleskab 10800" | at -M 18:00


Switch-scriptet afvikler da selve Terminalkommandoen til Shelly, og som man måske kan se, så er den kommando heller ikke så indviklet:

curl "http://192.168.33.1/relay/0?turn=on&timer=10800"



En god ting for sikkerheden kan være, at med den kommando, så er shelly ikke afhængig af wifi for at tænde køleskabet igen.
Evt. med et par ekstra sikkerhedsforanstaltninger er metoden måske endda tæt på at kunne godkendes til dybfryser.

Jeg kunne også vise, hvordan man med "at" kan undtage visse ugedage osv., men så bliver det lidt mere omfattende.

Jeg vil ikke gå så langt, men hvis man vil spare strøm til styringen, så kan man med samme timerfunktion endda overveje at slukke for selveste Linux computerten, så den kun er tændt, når der er behov for styring.

En laptop med MX Xfce + 4 stk. USB-relæer. Elforbrug: 11W
Trådløs switch fra Shelly. Ca. 1W pr. stk.
Routeren (5W) regner jeg ikke med, fordi styringen kun fordrer den tændt ca. 10 minutter pr. døgn.


Hos mig altså ca. 14 Watt til det hele.

Det er luksus, at en computer altid står parat, men jeg kender ikke et billigere eller mere sikkert system, og elforbruget er med en el-vandvarmer i småtingsafdelingen i forhold til besparelsen på sort strøm og økonomi.
Mine scripts til selve styringen fylder mindre end 150 Kb.
De følger nu med i min senior-konfiguration backup, som jeg forventer kan kopieres direkte ind og virke uforandret under MX27 og videre frem i mange år.
Jeg anbefaler at holde MX-Linux opdateret. Men jeg har set folk langt dygtigere end mig til Linux, som håndterer det anderledes, og det vil ikke forbavse mig, hvis pakken i de fleste tilfælde kan køre perfekt hele hardwarens levetid uden en eneste opdatering. Årsagerne til alvorlige og langvarige driftsproblemer hos mig skulle alle findes på Energidataservice.dk's hjemmeside, der ikke leverede prisdata stabilt som forventet.
Det er ikke ligefrem noget, der fremmer lysten til at udbygge et bæredygtigt samarbejde med staten, men det er åbenbart så ringe, det er.
Hvordan det f.eks. vil gå med udviklingen især på AI området til sundhedssektoren, når et flertal støtter aktiv dødshjælp, burde give alle onde drømme.




­
06-04-2026 10:46
Jakob
★★★★★
(10128)
­

Jeg IRL-tester stadig det program, som skal lægge tariffer til og omregne 15-minutters intervaller, og jeg har ikke fortrudt, at jeg valgte små trin med logfiler.

Men med et hjælpeprogram (gnuplot) og et lille script mere, så kan man også forholdsvist enkelt få et diagram op på skærmen, som er bygget på de downloadede og forarbejdede datasæt.

Her fra et tidspunkt i dag forsøges f.eks. 15-minutters intervaller fra Energidataservice omdannet til timepriser incl N1 tariffer:

­
Tilknyttet billede:

RE: AI til Linux mv.05-05-2026 06:48
Jakob
★★★★★
(10128)
­


AI er en ny teknisk revolution, som vil tage alle mere eller mindre med bukserne nede.
For Linux er koder nu ikke mere forbeholdt nørder med særlige evner til at finde og huske dem.
Enhver kan blot bede AI om at ryste træet, og så sidder de i til halsen, før de aner det.

Meningen med at starte dette emne var blandt andet at vise, hvordan man med gratis Linux software og en gammel computer kan etablere pålidelig elementær hjemmeautomatisering til gavn for både privatøkonomi og vedvarende energi.
Det ville også være positivt, hvis det kunne tiltrække andre linuxfolk, som havde lyst til at lege med og diskutere idéer til samme gode klimahobby.
Jeg havde bestemt ikke forudset, at min bedste og eneste legekammerat ville ende med at blive AI, som havde alt, hvad jeg skulle bruge, og meget mere til.
Det har for mig været en længe savnet og helt ny oplevelse af frihed og muligheder med Linux.
Et "compilerkvantespring" af de helt store.

Men det går nu så hurtigt, at det efterhånden gælder næsten alle emner, at man kan få bedre og mere saglig sparring fra AI end fra de fleste mennesker i den offentlige debat.
Det bliver en rovdrift på kloge udviklende samtaler imellem mennesker, og ikke engang eksperterne ved, hvilket ben de skal stå på.
De kan næppe undgå at dumme sig, når de skråsikkert og generelt dømmer algoritmer, som er i rivende udvikling.
Og lige om lidt bliver de fleste eksperter selv arbejdsløse, fordi den indsigt, som de alle tilsammen besidder vil være samlet, sorteret og smukt balanceret af AI, så enhver kan få den på et splitsekund.

Og ønsker man som Lars Løkke et øget udbud af arbejdskraft, så kan AI lige om lidt også hjælpe meget mere med f.eks. børnepasning, undervisning, opdragelse, sygepleje, ældrepleje og persontransport. Det bliver udelukkende et spørgsmål om klog implementering, og den kan AI og forhåbentlig også Enhedslisten hjælpe med.
Det er ikke noget, som nogen behøver at overveje, om de vil sige ja eller nej til. Det er begyndt og vil blive voldsomt udbygget uanset hvad.
Kunsten må være at lære at bruge det rigtigt, og Danmark bør nok som basis have sin egen nationale AI, der skal være 100% open sauce.
Det har Danmark ikke..

Til gengæld har Danmark de sidste mange årtier i mine øjne udviklet en dysfunktionel offentlig administration, som er blevet glat overfor borgernes skriftlige henvendelser. De fejes for ofte af, også i sundhedssektoren, og så må borgeren klage andre steder og evt. søge erstatning, hvis vedkommende fortsat er for utilfreds.
Det overkommer de færreste, og det kan ofte virke meningsløst eller ligefrem føje spot til skaden. Det har derfor kunnet benyttes som et teknisk filter og skrankepavetrick til undertrykkelse af især den svageste del af befolkningen.
Fordi jeg ser det sådan, bliver det nu lidt svært at have ondt af administrationen, når den står med bukserne nede og får halen noget så grundigt på komedie af borgere, som benytter AI til spanking:
https://www.dr.dk/nyheder/indland/kunstig-intelligens-belaster-kommuner-med-lange-og-fejlfyldte-klager
Men det er et destruktivt skråplan, som skader sund trivsel og kan blive meget bekosteligt for staten, hvis det håndteres uklogt.
Med hensyn til AI, så bør det vigtigste spor ikke være at bekæmpe borgernes klager, men at implementere det så godt og grundigt i første led, at borgerne bliver fulgt helt til dørs med så god service, at ingen kan opleve en reel grund til at klage.

Der er Danmark ikke endnu, og hvad kan man så gøre for at kompensere for det med en MX-Linux luksuskonfiguration til børn og seniorer.?
Det kan man også diskutere med AI.


Husk at nyde foråret.
Der har den sidste tid været meget billig strøm, og den 25. april var der ligefrem negative elpriser med tarif inkluderet:

­
Tilknyttet billede:

RE: Shelly møffer sig ind...21-05-2026 12:13
Jakob
★★★★★
(10128)
­



Jeg er efterhånden blevet så forfalden til Shelly, at min gode El-tavle så småt er på vej til at blive overflødiggjort.
Det er en god nyhed for begyndere, at dette kan undværes til det meste:
https://www.klimadebat.dk/forum/vedhaeftninger/pillefyrrum-tavle-til-styring-2jun2024.jpg





Shelly switches:


Shelly Plus 1 Mini
https://www.shelly.com/products/shelly-1-mini-gen3
https://www.shelly.com/blogs/documentation/shelly-1-mini-gen3

Shelly 1 Gen3
https://www.shelly.com/products/shelly-1-gen3
https://www.shelly.com/blogs/documentation/shelly-1-gen3

Shelly Plug S Gen3
https://www.shelly.com/products/shelly-plug-s-gen3-1
https://www.shelly.com/blogs/documentation/shelly-plug-s-mtr-gen3



Som tidligere nævnt styrer jeg dem med ren AP (wifi forbindelse uden router direkte fra min Linux PC til Shelly enheden).

Jeg kan tænde og slukke switchen, og jeg kan tænde den og samtidigt bede den om selv at slukke en tid senere.

En Shelly enhed kan også programmeres til meget mere, men så skal den tilknyttes en router, og det bruger jeg ikke.
Der er da heller ikke behov for meget mere, når en Linux PC overvåger og styrer skemaet.

Men jeg søger alligevel lidt mere fleksibilitet (autonomi), som i nogle situationer vil kunne gøre det muligt i højere grad at kunne slukke for Linux PC'en.

På den baggrund bad jeg Google AI om at hjælpe mig med at bygge et script, som kan programmere Shelly til at vente en tid, før den tænder i en tid og selv slukker igen.
Det blev noget af en ørkenvandring med mere end 20 resultatløse versioner, men som man måske kan fornemme, så var det lykkedes at tirre selveste Google AI op i et emotionelt gear, hvor det bestemt ikke kunne komme på tale at give op:


AI:
Velkommen tilbage fra middagspause! Tro mig, jeg har absolut ikke tømt magasinet endnu. Når en Linux-børge og en AI beslutter sig for, at et relæ skal klikke, så kommer det til at klikke!
Jeg har brugt din pause på at læse op på en absolut kritisk opdatering i firmwaren til Shelly Gen3 (og firmware v1.4.2+). De har indført en ekstremt streng sikkerhedsprotokol på deres /rpc-endepunkt. (red:..... osv...)







Script navn: shelly-offline-timer.sh


#!/bin/bash
###############################################################################
# TID: Maj 2026
# FORMÅL: Selvstændigt script til MX25 Xfce / Linux. Opretter en 100%
# autonom éngangs-timer på en Shelly Gen3 stikkontakt.
# BEMÆRK: Brugeren skal selv have etableret netværksforbindelse
# (Wi-Fi AP eller lokalnetværk) til Shelly-enheden forinden.
# VERSION: 2.1.0 (Universel, selvstændig udgave)
# LICENS: The Unlicense (Public Domain - Fri til deling, redigering og brug)
#
# SYNTAKSEKSEMPLER (Brug direkte i terminalen):
# ./shelly-offline-timer.sh 5 10 -> Vent 5 min (slukket), tænd derefter i 10 min.
# ./shelly-offline-timer.sh 0 30 -> Tænd med det samme, sluk efter 30 min.
# ./shelly-offline-timer.sh 60 120 -> Vent 1 time (slukket), tænd derefter i 2 timer.
###############################################################################

# --- PÆDAGOGISK ARGUMENT-VALIDERING ---
# Da dette er et selvstændigt script, tjekker vi om brugeren har leveret
# præcis to argumenter ($1 og $2) direkte i terminal-kaldet.
if [ "$#" -ne 2 ]; then
echo "================================================================="
echo " FEJL: Forkert syntaks!"
echo "================================================================="
echo "Brug: $0 <ventetid_i_minutter> <brændtid_i_minutter>"
echo "Eks: $0 5 10 (Vent 5 minutter, tænd derefter i 10 minutter)"
echo "================================================================="
exit 1
fi

# Vi tjekker om argumenterne udelukkende er hele, positive tal via regulære udtryk
if [[ ! "$1" =~ ^[0-9]+$ ]] || [[ ! "$2" =~ ^[0-9]+$ ]]; then
echo "FEJL: Argumenterne skal være hele tal (f.eks. 1, 5, 60). Decimaler understøttes ikke."
exit 1
fi

# --- DEFINITION AF VARIABLER ---
# Standard IP-adresse for Shelly i Access Point mode.
# Hvis din Shelly er på et normalt Wi-Fi-hjemmenetværk, ændres IP'en herunder.
SHELLY_IP="192.168.33.1"

VENT_MINUTTER=$1
BRAEND_MINUTTER=$2

# Omregner minutter til rå hardware-sekunder, som Shelly'ens interne MCU kræver
VENT_SEKUNDER=$(( VENT_MINUTTER * 60 ))
BRAEND_SEKUNDER=$(( BRAEND_MINUTTER * 60 ))

# --- STATUS SKÆRMTEKST ---
echo "================================================================="
echo " MX25 Xfce | Autonom Shelly Timer (Universel Version)"
echo "================================================================="
echo "Forudsætning: Aktiv netværksforbindelse til Shelly forventes etableret."
echo "Status: Konfigurerer éngangs hardware-timer..."
echo "Ventetid (SLUKKET): ${VENT_MINUTTER} min (${VENT_SEKUNDER} sek)."
echo "Brændtid (TÆNDT): ${BRAEND_MINUTTER} min (${BRAEND_SEKUNDER} sek)."
echo "-----------------------------------------------------------------"

# --- PÆDAGOGISK NETVÆRKS-PONG (PING TEST) ---
# Før vi skyder curl-kommandoer afsted, tjekker vi om Shellyen overhovedet svarer på IP'en.
# Vi sender 1 enkelt ping-pakke og venter højst 2 sekunder på svar.
if ! ping -c 1 -W 2 "$SHELLY_IP" > /dev/null 2>&1; then
echo "FEJL: Kan ikke kontakte Shelly på IP: ${SHELLY_IP}"
echo "Tjek venligst om du er forbundet til det rigtige netværk/Wi-Fi AP."
echo "================================================================="
exit 1
fi

# --- TVUNGEN NULSTILLING ---
# Vi slukker enheden med det samme for at sikre en defineret starttilstand.
echo "Nulstiller relæ..."
curl -s -X POST "http://${SHELLY_IP}/rpc" \
-d '{"id":1,"method":"Switch.Set","params":{"id":0,"on":false}}' > /dev/null

# --- LOOP-FRI HARDWARE PROGRAMMERING ---
# 1. We indstiller relæets faste auto-sluk (auto_off) til den ønskede brændtid.
# Vi sikrer samtidig, at auto_on er deaktiveret (false), så den aldrig kan loope.
echo "Programmerer auto-sluk tidsinterval..."
curl -s -X POST "http://${SHELLY_IP}/rpc" \
-d "{\"id\":2,\"method\":\"Switch.SetConfig\",\"params\":{\"id\":0,\"config\":{\"auto_off\":true,\"auto_off_delay\":${BRAEND_SEKUNDER},\"auto_on\":false}}}" > /dev/null

# 2. Vi aktiverer den offline ventetid via et éngangs 'toggle_after' kald.
# Dette starter nedtællingen i Shelly'ens egen hukommelse.
echo "Overfører tidsplan og frigiver computeren..."
curl -s "http://${SHELLY_IP}/rpc/Switch.Set?id=0&on=false&toggle_after=${VENT_SEKUNDER}" > /dev/null

echo "Overdragelse komplet! Du kan roligt lukke computeren eller netværket nu."
echo "================================================================="

exit 0



Scripts fra et amatørforum som dette bør altid verificeres og muligvis rettes og tilpasses lokal konfiguration før brug.
Men man kan nogle gange spare timers arbejde ved at fodre AI med et script, hvor det meste forarbejde er gjort på forhånd.








Jeg observerede en smule varmeudvikling i mine stik til forlængerledningen til el-vandvarmeren.
Så nu har el-vandvarmeren også fået sin egen lokale lille trådløse Shelly, som kan tænde og slukke for den med et 20 Amperes relæ.
Og jeg bemærker under arbejdet, at AI ikke har lært at bruge en skruetrækker endnu.

­
Tilknyttet billede:

Side 3 af 3<123





Deltag aktivt i debatten Hvem pusler med Linux.?:

Husk mig

Lignende indhold
DebatterSvarSeneste indlæg
MX-Linux Xfce til klimavenlig hjemmeautomatisering114-10-2024 21:28
▲ Til toppen
Afstemning
Hvordan vil Coronakrisen påvirke klimadebatten?

Mindre opmærksomhed om klima

Ingen større påvirkning

Øget opmærksomhed om klima

Andet/Ved ikke


Tak for støtten til driften af Klimadebat.dk.
Copyright © 2007-2020 Klimadebat.dk | Kontakt | Privatlivspolitik