Na
14,5 jaar heeft de vriezer het uiteindelijk dan toch begeven (op de respectabele leeftijd van zo'n 30 jaar). En aangezien we nog geen nieuwe keuken nodig hebben (gewoon op tijd repareren, voordat het echt "helemaal stuk" is), hebben we toch maar een nieuwe gekocht. Vooral omdat de oude vriezer heel langzaam de geest aan het geven was, was "snel leverbaar" een van de belangrijkste kenmerken. En aangezien dit Nederland is, werd dat "vandaag voor 23:00 besteld, morgen in huis". Terwijl de oude, reeds uitgebouwde vriezer buiten op de stoep heel langzaam stond te ontdooien, werd de nieuwe gemonteerd (zelfde inbouwmaat, dus die "schuif je er zo in"), en kon het meeste spul nog net in bevroren toestand worden overgeheveld.
Maar dan de belangrijkste vraag: wat is het energieverbruik; is dat nu echt zoveel beter (categorie E - dat is
recentelijk opnieuw ingedeeld, omdat alles in A+++++ zat)?
- Op vrijdag de 25e heeft iemand de deur niet goed dicht gedaan, of zijn er boodschappen gedaan (die ingevroren moesten worden).
- Op maandag de 28e begint de vriezer dan langzamerhand te falen. Hij moet steeds langer draaien om de boel op temperatuur te houden, en rond een uur of 18:00 's avond staat ie gewoon non-stop te ploeteren.
- Dinsdag en woensdag gaat dat nog redelijk goed, maar donderdag komen we er achter dat ie het echt niet meer trekt - ook niet na nog wat met de instellingen gepield te hebben. Achteraf gezien hadden we dat natuurlijk al aan bovenstaande grafiek kunnen zien, maar omdat het stroomverbruik heel langzaam toenam kwam er geen waarschuwingsmailtje.
- Donderdagavond de nieuwe vriezer besteld. Vrijdag rond een uur of 13:00 de oude uitgebouwd en buiten gezet. Nieuwe vriezer rond 14:00 geleverd, ingebouwd, en om 19:00 ingeschakeld.
- Op zaterdag moet ie er dan nog even flink aan trekken om alles weer onder nul te krijgen, en vanaf zondag staat ie gewoon "in bedrijf" te pendelen.
Het huidige stroomverbruik is ongeveer 25 tot 30% van de oude (die slurpte gemiddeld 1 kWh/dag). Een enorme besparing dus van zo'n 265 kWh/jaar. Met de huidige terugleververgoeding (zonnepanelen), in combinatie met de salderingsregeling (opbrengsten in de zomer mogen met verbruik in de winter verrekend worden), levert een teruggeleverde kWh (we produceren
meer dan we verbruiken) nog maar 2,884 cent op. Die enorme afname van het verbruik levert op jaarbasis dus maar €7,65 op. Valt een beetje tegen ...
(wat ook een beetje tegen valt: de nieuwe vriezer is zo goed geïsoleerd, dat er door die dikke wanden veel minder in past)
Rob, woensdag 6 november 2024, 22:12
Je kent het wel van de webshop: alleen postcode en huisnummer invoeren, en de site voegt vanzelf je woonplaats en straatnaam in. Super makkelijk, geen spelfouten. Deze data komt uit een "postcode tabel". Vroeger moest je daar voor betalen, en waren er allerlei initiatieven om deze data bij elkaar te harken door overal adressen te scrapen (bijvoorbeeld het adres op de website van een bedrijf).
Tegenwoordig kun je deze data "in principe" gratis verkrijgen door de data van het Kadaster te downloaden en uit te pluizen. Gewoon alle data over de bebouwing negeren, en nog even combineren met de (eveneens gratis) lijst van gemeentes van het CBS. Overal lees je dan dat dit wel een erg ingewikkelde klus is (veel data, grote bestanden - 3,5Gb ZIP, met daarin
weer meerdere ZIP bestanden, met
daarin weer een trits XML bestanden). Dat klinkt als een uitdaging ;-)
Bij deze dus: de
Royal Shitware Inc postcode tabel. Gratis in gebruik, en inclusief PHP code om het helemaal zelf te doen (en naar eigen inzicht in een database te gieten). Garantie tot de deur. Als er onverwacht teveel gebruik van gemaakt wordt kan het zijn dat ik de deur weer dicht gooi.
Rob, woensdag 6 november 2024, 22:01
Vandaag een jaar geleden is m'n broer(tje*) overleden
(* hij was een kop groter en een meter breder dan ik). Ik vermoed dat niemand dit 90's design weblog leest, maar ik ga er toch een stukje over schrijven.
Al vanaf het begin waren m'n broertje en ik anders. Niet alleen qua doen en laten, maar ook qua uiterlijk. Als we samen op pad waren geloofde niemand dat we broers waren.
Vanaf de middelbare school was m'n broertje het feestbeest - daar waar ik de "serieuze student" was. Hij regelde de meiden, en ik zorgde ervoor dat onze "vissersboot met veel te grote motor" (waterskiën) volgetankt in het water lag.
Op een gegeven moment moest al dat feesten steeds vaker en steeds langer duren. En daar hoorde uiteraard "een pilletje" bij - anders houd je het niet vol.
Het pilletje werd een buisje, en vervolgens nog een hele sloot aan andere "geestverruimende middelen". En ook weer dozen vol weet ik veel wat voor andere pillen. Voor elk kwaaltje of "lichamelijke wens" was er wel een pil.
Dat kon uiteraard niet eeuwig goed gaan, en na een paar kwakkelende jaren is ie vorig jaar aan een hartstilstand overleden. Lichamelijk nog niet helemaal "naar de klote", maar de rikketik gewoon even stil gevallen onder die continue hoge belasting.
Ietwat onverwacht dus, maar toch ook niet helemaal onverwacht.
46 jaar - 23 in elke eeuw. Altijd voor 200% geleefd, dus wel het maximale er uit gehaald, maar toch een beetje aan de vroege kant.
Nu, een jaar later, weet ik nog steeds niet hoe ik 'm moet missen: Z'n ongeremde enthousiasme, altijd vol met wilde ideeën (ook gewoon praktisch, zoals de inrichting van z'n woonkamer - niet alles was altijd drugs gerelateerd). Of "het gedoe"; als ie weer een terugval had, en je de scherven weer op moest rapen, en
weer opnieuw beginnen (iedereen in z'n omgeving: familie, hulpverleners, enz). Het was een leuke, mooie, grappige jongen - maar wat kon ie er toch een puinhoop van maken ...
Rob, woensdag 23 oktober 2024, 12:00
Werktechnisch zit ik met bakken data (denk terabyte) te kijken die we bijna nooit nodig hebben - alleen om bij "problemen" dingen uit te zoeken. Daarnaast is het ook nog niet in een vast formaat (geen vaste veldindeling). Teveel en te onhandig dus om een database mee lastig te vallen, maar alles zomaar in een file dumpen maakt het gestructureerd doorzoeken er ook niet handiger op. Enter
JSON lines: een text based format met op elke regel een JSON object. Een beetje een soort CSV zonder vaste kolomindeling. En daar moet je dan wat mee:
<?php
namespace Rsi\Object;
/**
* Manipulate a JSON lines file.
*/
class JsonLinesFile{
public $delimiter = "\n"; //!< Line delimiter.
public $assoc = true; //!< Return data as assoc.array.
protected $_filename = null;
public function __construct($filename){
$this->_filename = $filename;
}
/**
* Append data to the file.
* @param mixed $data
* @return bool True on success.
*/
public function append($data){
return file_put_contents($this->_filename,json_encode($data) . $this->delimiter,LOCK_EX | FILE_APPEND) !== false;
}
/**
* Clear (empty) the file.
* @return bool True on success.
*/
public function clear(){
return file_put_contents($this->_filename,null) !== false;
}
/**
* Walk through all lines in the file.
* @param callable $callback Function to call for each line. The line is in the first parameter, and the index in the file
* (base-0) in the second.
*/
protected function lines($callback){
if(is_file($this->_filename)){
$f = fopen($this->_filename,'r');
$index = 0;
while(!feof($f)) if(strlen($line = fgets($f)) && (call_user_func($callback,$line,$index++) === false)) break;
fclose($f);
}
}
/**
* Number of records in the file.
* @return int
*/
public function count(){
$count = 0;
$this->lines(function() use (&$count){
$count++;
});
return $count;
}
/**
* Decode a line.
* @param string $line Encoded JSON line.
* @return mixed Decoded data.
*/
protected function decode($line){
if((($data = json_decode($line,$this->assoc)) === null) && (json_last_error() != JSON_ERROR_NONE))
throw new \Exception(json_last_error_msg());
return $data;
}
/**
* Walk through all records in the file.
* @param callable $callback Function to call for each record. The data is in the first parameter, and the index in the file
* (base-0) in the second. Return false to break.
*/
public function each($callback){
$this->lines(function($line,$index) use ($callback){
return call_user_func($callback,$this->decode($line),$index);
});
}
/**
* Retrieve a slice of the records in the file.
* @param $offset int Record to start from.
* @param $length int Number of records to return (when available).
* @return array The selected records (key = index, value = data).
*/
public function slice($offset,$length){
$length += $offset;
$result = [];
$this->lines(function($line,$index) use ($offset,$length,&$result){
if($index >= $offset){
if($index < $length) $result[$index] = $this->decode($line);
else return false; //break
}
});
return $result;
}
/**
* Filter the records in the file.
* @param callable $callback If this function returns true, the record is preserved. The data is in the first parameter, and
* the index in the file (base-0) in the second.
* @return bool True on success.
*/
public function filter($callback){
$f = fopen($temp = $this->_filename . '-' . bin2hex(random_bytes(16)),'w');
try{
$this->lines(function($line,$index) use ($callback,$f){
if(call_user_func($callback,$this->decode($line),$index)) fputs($f,$line);
});
fclose($f);
return rename($temp,$this->_filename);
}
catch(\Exception $e){
unlink($temp);
throw $e;
}
}
/**
* Edit the records in the file.
* @param callable $callback Function that returns the modified record. The original data is in the first parameter, and the
* index in the file (base-0) in the second. Return false to remove the record, or true to keep the original record.
* @return bool True on success.
*/
public function edit($callback){
$f = fopen($temp = $this->_filename . '-' . bin2hex(random_bytes(16)),'w');
try{
$this->lines(function($line,$index) use ($callback,$f){
if(($data = call_user_func($callback,$this->decode($line),$index)) !== false)
fputs($f,$data === true ? $line : json_encode($data) . $this->delimiter);
});
fclose($f);
return rename($temp,$this->_filename);
}
catch(\Exception $e){
unlink($temp);
throw $e;
}
}
}
Rob, zaterdag 27 april 2024, 22:18
In het kader van de
home automation had ik de keukenlamp al via een
Shelly1 gekoppeld. Daar kun je leuke, maar ook gewoon handige dingen mee doen. Zo zit de schakelaar van de keukenlamp hier aan de wooonkamerzijde, dus als je door de buitendeur binnen komt (met je vieze schoenen; aan de andere kant van de keuken) moet je eerst in het donker je schoenen uittrekken, voordat je de lamp aan kunt doen. Via de Shelly heb ik dit ondervangen door de keukenlamp ook automatisch aan te doen als de bewegingsmelder in de achtertuin aan gaat (en het donker is).
Dat lost het probleem echter "van buiten naar binnen" op. Als je naar buiten gaat, met de lamp aan, en smerige schoenen aan je voeten, kun je de lamp niet meer uit doen. Hiervoor moet je dan een thuisblijver aanwijzen, of de Shelly even "via de app" schakelen (gedoe als je al handschoenen aan hebt). Enorm first world problem dus. Gelukkig zitten er bij de keukendeur een viertal schakelaars voor de buitenlampen, waarvan er een niet gebruikt werd. Deze laatste heb ik nu aan
nog een Shelly gehangen, en weer teruggekoppeld naar de eerste Shelly. Nu kunnen we de keukenlamp dus vanaf twee plekken bedienen - hoezee! Eigenlijk net zoiets als de gemiddelde
wisselschakeling voor het trappengat, maar dan stukken nodeloos complexer.
Alhoewel: het biedt natuurlijk ook wel weer meer mogelijkheden. Zo kun je nu met "dubbel klik" (snel aan/uit) de "flood light" onder de dakgoot bedienen, en zullen er binnenkort vast nog wel meer "handigheidjes" volgen. Tijd om de handleiding voor het huis weer eens bij te werken ...
Rob, zaterdag 27 april 2024, 17:52
Omdat (o.a.) Marktplaats de onhebbelijkheid heeft om URL's standaard naar lower case ("kleine letters") te drukken kun je daar niet met
base-64 encoding werken (die gebruikt zowel hoofd- als kleine letters - wat daardoor dus onbruikbaar wordt). Maar om nou meteen terug te schakelen naar
hexadecimaal is ook zo wat. PHP biedt zelf geen ondersteuning voor andere encodings, dus dan moet je het zelf maar doen (online is van alles te vinden, maar niet zo geheugen/processor-efficiënt als deze!):
<?php
/**
* Base encode parameters.
* @param string $base Base characters.
* @param int $length Number of characters in base.
* @param int $bits Number of bits possible in character range (rounded up).
* @param int $max Maximum value in base without data loss.
* @param bool $oversize True when the bit size is too large for the base.
*/
protected static function baseParams(&$base,&$length,&$bits,&$max,&$oversize){
if(($length = strlen($base)) < 2) throw new \ValueError('Not enough characters in base');
if(count(array_unique($base = str_split($base))) < $length) throw new \ValueError('Duplicate characters in base');
$bits = 0;
while(($max = (1 << ++$bits)) < $length);
if($oversize = $max > $length) $max >>= 1;
}
/**
* Encode a string with a base set of characters.
* @param string $base Base characters.
* @param string $str String to encode.
* @return string String encoded with characters from base.
*/
public static function baseEncode($base,$str){
$result = null;
if($count = strlen($str)){
self::baseParams($base,$length,$bits,$max,$oversize);
$buffer = $size = $fill = $position = 0; //bit buffer, buffer size, fillers in buffer, position in string
while(($position < $count) || ($size > $fill)){ //still bytes or bits to process
if($size < $bits){ //add next byte (or filler) to buffer
$buffer <<= 8;
$size += 8;
if($position < $count) $buffer += ord($str[$position++]);
else $fill += 8;
}
$index = $buffer >> ($size - ($gone = $bits)); //get bits from buffer
if($oversize && (($index < $max) || ($index >= $length))){ //not in extra chars - take 1 bit less.
$index >>= 1;
$gone--;
}
$result .= $base[$index];
$buffer &= (1 << ($size -= $gone)) - 1;
}
}
return $result;
}
/**
* Decode a string encoded with a base set of characters.
* @param string $base Base characters.
* @param string $str String to decode.
* @return string Decoded (original) string.
*/
public static function baseDecode($base,$str){
$result = null;
if($count = strlen($str)){
self::baseParams($base,$length,$bits,$max,$oversize);
$map = array_flip($base);
$buffer = $size = 0; //bit buffer, buffer size
for($position = 0; $position < $count; $position++){
if (!array_key_exists($char = $str[$position],$map)) throw new \ValueError("Char '$char' is not in base");
$index = $map[$char];
$add = $bits;
if($oversize){ //bit size larger then char range
if($index < $max) $add--; //lower range = 1 bit less
elseif($index >= $length){ //out of range = 1 bit less
$index >>= 1;
$add--;
} //else: in extra range = maximum bits used
}
$buffer = ($buffer << $add) | $index;
$size += $add;
while($size >= 8){ //write bytes from buffer
$result .= chr($buffer >> ($size -= 8));
$buffer &= (1 << $size) - 1;
}
}
}
return $result;
}
De "base" kan dus van alles zijn. Als het maar meer dan 2 (en minder dan 256) unieke karakters zijn - het precieze aantal maakt niet uit (hoeft geen macht van 2 te zijn).
Rob, zaterdag 30 september 2023, 13:22
Techniek in huis is leuk, maar het moet ook wel een beetje makkelijk blijven. Dus in plaats van iedereen alles uit te moeten leggen, en/of steeds naar een "device" te moeten grijpen om iets aan/uit te zetten, heb ik een "afstandsbediening" in elkaar geknutseld.
Elke knop kan via een "event" dynamisch aan een "actie" in huis gekoppeld worden (lamp aan/uit - evt. voor een bepaalde tijd, TV/versterker bedienen, deurbel, doucheventilator, enz - als het maar op de een of andere manier te "programmeren" is).
In elke knop zit een lampje, dat op zijn beurt ook weer ergens aan gekoppeld kan worden. Als de "knop" (het indrukken) zelf aan een lamp is gekoppeld, is het natuurlijk het meest logisch om het lampje ook de status van die lamp te laten zien. Want uiteraard kun je de betreffende lamp ook nog gewoon met de wandschakelaar bedienen (en nog op tig andere manieren*), en ook dat zie je terug op de afstandsbediening.
* Zo hebben we in de keuken een knopje waarmee je de lampen op de kinderkamers een keer kunt laten knipperen. Dat scheelt weer "eten!" gegil door het trappengat.
Rob, zaterdag 25 maart 2023, 12:20
Ik kwam een tijdje terug deze
flowmeter tegen in m'n favoriete webwinkel. Naast de flow (liter/minuut) kan ie ook de temperatuur meten, en daarmee kun je dus uitrekenen hoeveel energie je
zonneboiler aan het koude leidingwater heeft toegevoegd. En
daarmee kun je weer uitrekenen hoeveel kuub gas je uitgespaard hebt.
Goed idee, aan de slag!
Daarna een custom stekkertje knutselen, en alle meetwaarden naar de Arduino voeren die toch al in het CV-hok hangt om het functioneren van de zonneboiler te monitoren, de
hotfill van de wasmachine aan te sturen, en als timer voor de badkamerventilator fungeert.
Tot zover de hardware zijde van het verhaal. Nu de zachte kant:
- Uiteraard de verbruikscijfers. Momenteel is het takkeweer, maar twee weken geleden was het een paar dagen mooi weer, en toen begon de zonneboiler al aardig op temperatuur te komen. Dagelijks werd er toen zo'n 6 kWh aan warm water aan de zonneboiler onttrokken. Als de CV-ketel dit had moeten doen (en dan ga ik er maar even vanuit gaat dat ie dit met redelijk 100% efficiency weet op te wekken - het is tenslotte een "HR"), dan betekent dat een besparing van zo'n 0,6 kuub gas per dag (op een winterdag!).
- Omdat je nu weet wanneer er (lang) warm water wordt getapt = er staat waarschijnlijk iemand te douchen, kan de badkamerventilator automatisch aanspringen (dat moest normaal door na het douchen aan een touwtje te trekken; of via de app - jawel). Uiteraard hoeft dit niet als het buiten mooi weer is, want dan staat het doucheraampje toch al open (lees: even koppelen met de buitentemperatuur).
- Data is natuurlijk leuk, maar grafiekjes zijn nog leuker. Nou heb ik al een vrij drukke grafiek met allerlei data rond "invloeden van buitenaf" (het weer) en alles wat we daar aan moeten doen om het binnen behaaglijk te houden. Daar is nu nog een lijntje bij gekomen:
- Onderaan staat de tijd (de uren van de afgelopen 24 uur). Links de temperatuurschaal, en rechts de windkracht (lichtgroen) en de neerslag schaal.
- De dik gedrukte blauwe lijn is de buitentemperatuur (volgens Buienradar), en de wat lichtblauwe lijn die daar z'n beetje parallel aan loopt de buitentemperatuur volgens het weerstation van de buurman (handig, al die "slimme" apparaten die alle data delen met de rest van de wereld ;-) ).
- De groene pluim is de huidige windsnelheid (onderkant is gemiddeld, en bovenkant is uitschieters). De groene pijlen bovenaan de grafiek geven de windrichting weer.
- De gele "bult" stelt de theoretische positie van de zon voor (de hoek van de zon tov de horizon volgens de graden schaal rond 12 uur 's middags). De geel/oranje lijn geeft aan hoeveel de echte zon instraling was (in W/m²). Het is nu een grijze dag; op een mooie dag loopt dit redelijk parallel aan de "gele bult".
- De blauwe staafjes onderaan geven de hoeveelheid neerslag weer. Ook weer volgens Buienradar (betere meetwaarden) en de buurman (beter beeld van de lokale neerslag).
- De lichtrode vlakken geven de momenten aan waarop de CV aan was, en de rode lijn geeft de werkelijke radiator temperatuur weer (elke blokje vanaf de onderkant van de grafiek komt overeen met 10 °C). Overdag pendelt de CV dus wel wat, maar het echte werk begint pas als 's avonds de thermostaat wordt opgeschroefd (deze info gebruik ik trouwens om een ventilator aan te sturen die de warme lucht geforceerd de kamer in blaast).
- De paarse balken die je tenslotte tussen 13:00 en 14:00 aan de bovenkant van de grafiek ziet hangen zijn de zonneboiler tapwater temperaturen (2x douchen; ook weer 10 °C per blokje). Aan het begin van het douchen was het water dus nog zo'n 40 °C, maar uiteindelijk kakte dat in naar zo'n 25 °C (dan zal het wel bijna "op" zijn). Dit komt overeen met 2,4 kWh aan warmte ~ 0,24 kuub gas.
Als toegift heb ik nu nog deze
LED-ring in de badkamer opgehangen. Normaal geeft deze de tijd aan (rode stip voor de seconden, groene stip voor de minuten, en blauw voor de uren; als de zonneboiler aan is pulseert de seconden stip; als de zonneboiler aan z'n max zit = het hele vat op 90 °C, dan pulseert de blauwe uren stip). Zodra er nu warm water wordt getapt begint op deze cirkel een timer te lopen. Elke LED komt overeen met 1 minuut douchen. De eerste 5 minuten zijn groen, daarna volgen 5 gele stippen, en vervolgens alleen nog maar rood (met om elke 5 minuten nog een paarse LED om het tellen makkelijk te maken). Als je het zo bont weet te maken dat je over de maximale 24 minuten heen gaat gaan de laatste twee LEDs wit knipperen.
Daarnaast toont ie, als de CV niet aan staat (zo'n beetje van mei tot september - als er meer dan genoeg warm water uit de zonneboiler komt, en de verwarming ook niet meer aan hoeft), de temperatuur van het zonneboiler water (het aantal graden boven de 40 °C - elke graad een LED), zodat je een beetje in kunt schatten hoeveel ruimte er nog is om eens lekker lang onder de douche te staan (of dat de volgende misschien toch maar eerst de CV in moet schakelen voordat ie er onder springt).
Lees meerRob, zondag 12 maart 2023, 14:17
Door die lange URL (
https://unilever.demdex.net/event?d_event=click&c_brand=prodent&c_brandcode=bh0880&c_retailer=brandwebsite&c_country=nl&c_medium=partner&c_division=personal-care&c_category=oral-care&c_campaignname=prodent_doktersvandewereld&&d_rd=https%3A%2F%2Fwww.prodent.nl%2Fdoktersvandewereld.html%3Futm_campaign%3DProdent_doktersvandewereld%26utm_source%3DQRcode%26utm_medium%3Dpartner) wordt die QR-code zo heel pietepeuterig (ivm "veel data"), en is ie ivm de kwaliteit van het drukwerk bijna niet te scannen. Die had gewoon
ingekort moeten worden naar iets van
https://unilever.com/go?id=doktervdwereld. Dan had ie er zo uitgezien:
Rob, dinsdag 27 september 2022, 11:27
De kinderen gebruiken steeds meer stroom, we werken steeds meer thuis, de energieprijzen stijgen momenteel de pan uit, er was nog ruimte op het dak, dus:
BTW terugvragen heb ik maar even laten zitten (als je dat al eerder gedaan hebt - die rij eronder - wordt het wel heel ingewikkeld,
en levert het mogelijk zelfs niks op). En
zoveel kosten ze ook niet meer. Met de stroomprijzen van nu zou de terugverdientijd minder dan 3 jaar moeten zijn.
Nog even een korte review over het
ClickFit montagesysteem: Het werkt wel prettig, ziet er netjes uit, en wordt compleet geleverd, maarrr ...
- Omdat het voor zowel horizontale als verticale (portret/landscape) montage is, ligt het vrij hoog boven de pannen (ook in de "laagste" stand - mijn pannen zijn ook niet zo "curvy" = vrij plat (de vorige panelen waren veel "dikker", maar liggen veel platter op het dak). Hopelijk blijft de wind er onder uit.
- In de instructie staat ongeveer "pan omhoog schuiven / haak achter panlat haken / pan terugschuiven". Die haak is vrij degelijk, maar mijn jaren 70 panlat absoluut niet. Daar heb ik dus eerst een extra lat onder moeten monteren (= hele rij pannen eronder weghalen). Als je vervolgens de dakpan terugschuift ligt ie 2cm "los" (= wind+sneeuw waait er zo onder). Daar moet dus steeds een sleuf uit geslepen worden (ter breedte van de haak; werd wel als "misschien stel dat" genoemd, maar is dus behoorlijk gedoe/meerwerk - dan is het voordeel van het "klikken" wel weer weg).
- Als je de haak vastschroeft (de dakpan dus op de panlat klemt), en daarna even aan de haak rammelt, zit ie weer los. Omdat een dakpan alle kanten op rond is, en ook onder een hoek op het dakvlak ligt heb je nooit in 1x het juiste punt te pakken. Soms moet je dit wel 3x herhalen voordat ie echt "vast" zit. Een haak die direct op het dakvlak monteert heeft dus ook z'n voordelen.
- De bouten hebben allemaal dezelfde torx sleutel ... alleen heb je voor de bouten om de panelen vast te zetten een torx sleutel nodig met een gaatje er in (zit een puntje in het torx gat). Als je dus op zaterdag de dwarsbalken hebt vastgezet met je vertrouwde torx sleutel, heb je een probleem als je op zondag de panelen gaat monteren (als de lokale bouwmarkt dicht is).
Instant update:
Zo,
dat gaat snel. Maar dat spul is ook ontzettend veel beter (en goedkoper) geworden de afgelopen jaren. Deze 4 panelen leveren (iets) meer op dan
deze 8 uit 2009, en kosten (inclusief omvormer en montagemateriaal) maar 20% daarvan.
Rob, dinsdag 13526 april 1985, 7:27
Dit jaar heb ik 50 boeken / 17.621 pagina's gelezen. Ondanks het vele thuiszitten ivm Corona net iets minder als normaal (zowel in aantal als in pagina's).
De beste (5 sterren):
En de slechtste van dit jaar (1 ster):
En wat betreft
dat andere jaaroverzicht:
- Wederom een positief jaarverbruik qua stroom (meer verbruikt dan opgewekt).
- De kou hield lang aan (stoken t/m april), en begon ook weer vroeg = relatief veel gas.
- Inclusief welkomstkorting en SDE subsidie op de eerste set zonnepanelen kwamen we uit op €7,93/maand (een "positief" bedrag dus; dat is heel lang geleden dat we moesten betalen voor onze energie).
Een welkomstpremie zit er dit jaar niet in (overstappen "was niet mogelijk", of in ieder geval niet lonend), en met die fors gestegen prijzen ben ik benieuwd wat dit jaar gaat brengen ...
Rob, zaterdag 13433 april 1985, 21:37
Gisteren was het weer raak: flits,
boem, computer uit, auto-alarm aan, en een
een modem die naar z'n grootje was. De laatste keer dat dit gebeurde was al een tijdje terug; enerzijds omdat we in het begin regelmatig de stekker er uit trokken als het onweerde, anderzijds (mogelijkerwijs) omdat er tegenwoordig zo'n spanningspiekbeveiliging tussen zit. Maar: de lijn hapert hier de laatste tijd nog wel eens (verbinding valt weg, verbinding wordt opnieuw opgebouwd = 30 seconden geen internet), dus op advies van XS4all deze er tussenuit gehaald, en de modem weer direct aan de telefoonlijn gehangen (samen met een factory reset van de modem gaf het een kleine verbetering, maar het probleem is/was nog niet helemaal weg). En we waren natuurlijk allemaal thuis aan het werk/school, dus dan wil je de stekker er niet meteen uit trekken (in eerste instantie was het onweer ook nog redelijk ver weg).
Resultaat: modem toast, een switch die niet meer via PoE wil werken (met de originele voeding - was even zoeken - deed ie het gelukkig nog wel), en twee Arduino's +
ethernet module's afgeschreven ... Lekker dan. Eerst XS4all maar eens bellen. Die wilden voor die haperende lijn niet meteen een nieuwe modem sturen, maar dat station was nu ruimschoots gepasseerd. Tien minuten in de wacht (dat is extreem lang voor XS4all - mijn ervaring althans), maar vervolgens zonder al teveel poeha een nieuwe modem (morgen binnen).
Nou krijg je bij een XS4all abo ook een data SIM, zodat je online kunt blijven - ook als de vaste lijn er uit ligt (daarvan werd de data limiet ook even flink opgeschroefd - mooi). Die zit hier in een oude mobiel. Deze mobiel op "mobiele hotspot" gezet, zodat ie z'n eigen WiFi netwerk creëert (gevoed door de 4G verbinding). Dit signaal vervolgens via een
ontvanger weer omgezet naar een fysieke kabel, en die weer in de WAN2 ingang van de Unifi Gateway geprikt. En tadaa: alles werkte weer (uitgaand verkeer tenminste; inkomend verkeer loopt voorlopig even dood) - en doorrr. Toch een mooie vooruitgang al dat spul.
Binnenkort hebben we hier (ook)
glasvezel, dus dan komt die op die WAN2 (ik houd XS4all er naast, ivm betere diensten, en prijstechnisch maakt het ook niet heel veel uit of je alle toeters en bellen van Delta/Caiway neemt, of gewoon een apart XS4all abo), dus dan hebben we dit probleem helemaal niet meer (glasvezel is natuurlijk al een stuk ongevoeliger voor onweer dan koper). Maar voorlopig is dit een prima oplossing.
Update: De nieuwe modem is binnen, de lampjes knipperen ... maar geen verbinding. Blijkbaar is er ook iets mis in de wijkcentrale (XS4all kon de lijn van afstand niet doormeten). Morgen gaat er een KPN-monteur aan de slag.
Rob, donderdag 20 mei 2021, 11:06
In ons durp gaan ze (eindelijk) glasvezel aanleggen ... als tenminste 30% of meer van de huishoudens zegt over te stappen (en dan gaan ze ook alleen
die huishoudens daadwerkelijk van
FttH voorzien; wil je later nog meedoen moet je € 650,- aftikken om alsnog een sleuf door je voortuin te krijgen). Nou ben ik op zich tevreden met m'n 50Mbs
VDSL lijntje, maar af en toe zit er hier eentje te balen omdat ie 20 minuten moet wachten tot Fortnite z'n zoveel gigabyte update weer door de lijn getrokken heeft. En ach, een beetje snelheid is natuurlijk altijd leuk - maar dan moet het verder natuurlijk ook wel "in orde" zijn. Vandaar dat ik een aantal (technische) vragen aan
Delta had over hoe & wat. Met name omdat m'n huidige provider (XS4all - binnenkort dus KPN) dan weer zijn diensten niet via deze glasvezelboer aan mag/kan/wil bieden, en dit dan dus ook een overstap naar een andere provider zou betekenen.
Het
doorsturen van de antwoorden naar de juiste afdeling (ivm mijn "eisen" als consument moest het naar de zakelijke afdeling) duurde 7 weken (eerste minpuntje). Toen dat eenmaal uitgezocht was waren de antwoorden er vrij vlot. Voor eenieder die ook nog twijfelt (en van een internetaansluiting iets meer verwacht dan "WiFi") hieronder vragen + antwoorden, en soms nog een toelichting:
Q:
Op zich wil/hoef ik geen gebruik te maken van "zakelijk". Wat ik wel wil (als particulier) is een vast IP-adres (en een eigen server draaien). Als ik daarvoor een "zakelijk" abonnement ("Business pack") af moet nemen prima, als dat dan maar wel mogelijk is als particulier (zonder BTW-nummer)?
A:
Voor vast IP_adres = business pack nodig en dat kun je ook als consument afnemen
Ik wil een vast IP-adres omdat ik een eigen server draai en dan moet je in de DNS (het telefoonboek van het internet) opgeven op welk nummer (IP-adres) ze je kunnen vinden. Als je elke keer dat je je modem herstart (of voor je herstart wordt) een nieuw IP-adres krijgt (dus niet vast) is dat niet handig.
Voor een vast IP-adres moet je echter een zakelijk abo afnemen (daar was ik al achter). Dat is duurder, maar daar krijg je ook allerlei andere diensten bij, zoals een "BTW-factuur". Nou heb ik als gewone consument geen BTW-nummer, dus vandaar mijn vraag of ik als particulier wel een zakelijk abo af kan nemen (dat kun dus - geen probleem dus).
Q:
Daarnaast wil ik dan ook gewoon "interactieve TV" en "Bellen basis à 15ct p/m". Is dat ook allemaal nog mogelijk icm een "Business pack"?
A:
Ja dat kan, het flexpakket kan de klant naar eigen inzicht en voorkeuren inrichten
Ook geen probleem dus.
Q:
Kan ik (met een "Business pack") dan ook een eigen server draaien? Maw: blokkeren jullie bepaalde poorten, of is het gewoon mogelijk om alles van buitenaf door te prikken?
A:
Ja, dat kan
Sommige provider blokkeren bepaalde poorten. Een poort correspondeert meestal met een bepaalde dienst op internet: HTTP-verkeer (= "websites bekijken") gaat standaard over poort 80 (of 443 voor een beveiligde website), en zo zijn er nog wat standaarden. Sommige providers blokkeren "uit veiligheidsoverwegingen" bepaalde poorten (maar het is natuurlijk ook wel lekker als een klant thuis geen servertje kan draaien, want dat scheelt in het door te sluizen verkeer). Vandaar dus deze vraag (en wederom geen probleem).
Q:
Bieden jullie ook IPv6? En heb ik dan met een "Business pack" niet alleen een vast IPv4 adres, maar ook een vast IPv6 adres/prefix (en wat is dan de prefix lengte)?
A:
Nog niet, dit volgt, maar een specifieke datum kunnen we hier niet aan meegeven
IPv6 is de toekomst van het internet. Net als glasvezel. Maar blijkbaar gaan deze twee (nog) niet samen.
Nou draait hier alles al sinds een jaar of 5 (ook) via IPv6, dus dit zou een stapje terug in de tijd zijn. Voor normaal internetgebruik nog geen showstopper (IPv4 doet het nog steeds prima), maar voor hobby en werk is het toch wel eens handig om een native IPv6 verbinding te hebben (dit is wel op allerlei maniere te simuleren, maar dat blijft toch behelpen).
Q:
Hoe wordt deze IPv6 ondersteuning geleverd (dual stack, tunnel, ...)?
A:
Is op dit moment nog niet ingericht, dus kunnen we nu nog niets over zeggen.
Zie hierboven. Sommige providers "ondersteunen al wel IPv6", maar dan via een tunnel, en da's toch net niet echt.
Maar dus niet van toepassing, want toch al geen IPv6 ...
Q:
Moet de "interactieve tv ontvanger" altijd direct op de modem worden aangesloten (ivm een eigen VLAN of iets dergelijks), of mag daar ook nog een complete netwerklaag (met eigen IP range) tussen zitten (niks bijzonders, gewoon een Unify systeem met gateway, maar ik heb eigenlijk geen zin om extra kabels te trekken)?
A:
Hoeft niet direct op het modem, en mag dus ergens op het netwerk worden ingeprikt. Belangrijk is wel dat de switches IGMP Snooping ondersteunen.
Vroeger moest "het TV-kastje" vaak (direct) op een specifieke poort (aansluiting) de modem worden aangesloten ("poort 4"). In de modem was het dan zo geregeld dat de betreffende poort direct gekoppeld werd aan een bepaald VLAN van de provider (het "TV netwerk"). Op de andere poorten werkte TV dan niet, en als de TV niet naast de modem stond moest er een extra kabel worden getrokken (parallel aan de normale internet/ethernet kabels).
Momenteel hangt de modem daadwerkelijk achter de TV, dus zou dit geen probleem zijn (maar niet meer nodig). Die locatie is echter "historisch bepaald" omdat daar nou eenmaal de oude telefoonaansluiting zit (is aansluiting voor ADSL/VDSL). Bij een nieuwe modem zou ik die heel graag in de meterkast willen hebben. Dat scheelt weer ongerelateerde kabelbende (en "kastjes") achter de TV.
Geen probleem dus. Overigens geen idee of "normale", low-budget, "unmanaged" switches IGMP snooping ondersteunen, maar bij dat Unify spul is dat geen probleem (naar wens in/uit te schakelen).
Q:
Welke modem leveren jullie? Of is het mogelijk (toegestaan) om de Unify Security Gateway direct aan het glasvezel punt te koppelen (en zelf met PPPoE aan de slag te gaan)?
A:
Wij leveren een genexis platinum modem. Het is niet mogelijk zelf een modem aan te sluiten.
Zou mooi zijn als dit wel had gekund (had een kastje gescheeld), maar momenteel werkt het ook zo, en dat is geen enkel probleem. Omdat de modem nu enkel als een doorgeefluik fungeert (de USG doet het echte werk) maakt het ook niet zo heel veel uit wat de verder "toeters en bellen" van de modem zijn (wordt toch niet gebruikt).
Q:
Is nummerbehoud ook mogelijk met een 087 nummer (VoIP)?
A:
Nummerbehoud op 087 nummer is niet mogelijk krijg ik terug (waarbij hier nog wel een check op gedaan wordt).
We hebben nu VoIP via een 087 nummer (toen we hier naartoe verhuisden moesten we toch een nieuw nummer; dus dat hoefde dan niet perse eentje met een lokaal netnummer te zijn - waren extra kosten aan verbonden).
Jammer dat dit nummer niet mee is te nemen (ook omdat het grotendeels gelijk is aan mij 06 nummer; dat heb ik toen speciaal zo uitgezocht). Anderzijds is een "vaste lijn" natuurlijk toch al iets van eergisteren, dus misschien ook een mooi moment om 'm er maar gewoon helemaal uit te doen.
Samenvattend
Voor het merendeel geen beren op de weg. Alleen dat niet ondersteunen van IPv6 voelt wel als een stap terug. Vooral omdat het merendeel van de providers al jaren aangeeft "hier mee bezig te zijn", maar het tot op heden nog steeds niet uitgerold heeft (en dus ook niet duidelijk is hoeveel jaar dit nog gaat duren ...). Lijkt er dus op dat Mr. Fortnite voorlopig "pech" heeft (sowieso zet ik vrijdagochtend gewoon altijd de Playstation even voor 'm aan, zijn de meeste updates al gewoon binnen voordat ie uit school komt).
Rob, donderdag 7 januari 2021, 19:02
D'r zitten hier af en toe twee van die puber-zombies in de bank die met een geknikt nekje "fillumpjus" zitten te kijken en te swipen (een minuut of langer hetzelfde filmpje
afkijken trekt de attentie spanne niet). Omdat ik er genoeg van kreeg om elke keer "leg je dat ding weer eens weg" te roepen (daar geldt de
relativiteitstheorie: 5 minuten huiswerk voelt als een uur / een uur "fillumpjus" voelt als 5 minuten).
Omdat we hier een bijzonder mooi
WiFi netwerk hebben is het mogelijk om
via de API de verbruiksgegevens per "device" op te halen. Daarmee doe ik dan het volgende:
- Elke 5 minuten het dataverbruik per user (voor alle apparaten gecombineerd) bepalen voor het afgelopen uur.
- Maximaal verbruik instellen per uur (grofweg max. 10 tot 15 minuten streaming video).
- Indien "over budget" worden alle devices voor de betreffende user voor een uur geblokkeerd (ook weer volledig automatisch via de API).
- Na de tweede keer worden alle devices voor de rest van de dag geblokkeerd.
- (uitgezonderd tijdens schooltijden: ze zijn er toch niet, of ze hebben video-les; en de hele nacht, om updates en dergelijke de kans te geven - telefoons mogen hier niet mee naar de slaapkamer)
Heerlijk! Ik heb er geen omkijken meer na. Weet dat als ze er "te lang" op zitten het zich "vanzelf" regelt. Ben niet meer de kwaaie pier (
computer says no). En heb zowaar weer kinderen die af en toe even (OK, enigszins geforceerd) gezellig kunnen doen (want geblokkeerd, of in ieder geval bijna aan hun tax). En trust me: je kunt zo vaak zeggen "zullen we een spelletje doen / hond uitlaten / enz", zodra de telefoon het ook doet trekt die toch harder aan ze.
Rob, vrijdag 1 januari 2021, 11:32
Het stroomverbruik is het afgelopen jaar flink toegenomen omdat we met z'n vieren thuis zaten te werken (
extra schermen,
extra server,
extra switches). Dit "boekjaar" sinds lange tijd dus weer eens echt stroom
verbruikt (= totaal net iets meer verbruikt dan teruggeleverd). Echter, de afgelopen jaren
stap ik elk jaar over naar een andere energieleverancier. De criteria zijn eenvoudig: "groen", en met een zo laag mogelijke totaalprijs voor het eerste jaar (daarna stap ik toch weer over). Omdat de tarieven mekaar niet zoveel ontwijken, we toch bijna 0,0 gebruiken, en de netwerkkosten voor elke aanbieder zelfs helemaal gelijk zijn, komt het er meestal op neer dat het degene met de hoogste "welkomstpremie" wordt (die pas na een jaar wordt uitgekeerd - meer een "houdoe" premie dus). Daardoor heeft dit "positief verbruik jaar" uiteindelijk (inclusief de nog steeds lopende SDE subsidie voor de
reeds volledig terugverdiende zonnepanelen; maar ook inclusief gasverbruik) toch nog € 177,40 opgeleverd. Nice!
Update 2020-12-13: Omdat de overstap een maand na het verstrijken van het jaarcontract plaatsvond is de "winst" bijna weer volledig verdampt. December is zontechnisch natuurlijk niet zo'n beste maand, en het gas giert door de meter, dus die ene maand moest er nog € 150,10 worden afgetikt. Nog net een "negatief" eindresultaat, maar je kunt er niet meer van uit eten afhalen).Rob, woensdag 18 november 2020, 21:41