Monday, August 24, 2020

Birthday Bash: 5 things to do on your birthday

It was my birthday on Aug 22 and it was a Saturday. What better way to celebrate that than to spend in 2 days of learning and action?

1. Charging the batteries

    What started off as a routine thing after the  COVID inactivity period quickly turned into an involved activity with some batteries needing some tender loving care and some just needing top-up. Surprisingly the Skoda Octavia Mk2 battery was the most surprising of them all. More abt that later.

The Harley battery is a bit of a cheat story as i started this one the mid of last week. That was the most affected and it was close to 5 volts when tested. very bad! Connected it to the tender and the thing steadily climbed. Over the weekend, it attained full charge after probably 100+ hours. Need to see if the AGM is robust enough after this episode. The interesting thing here is, the Bosch charger which has an AGM mode refused to charge. The Bosch charge also is an intelligent one with 6/12 V sensing, overcharge protection, battery reviving pulse charging and all. The downside is, it refuses to charge overly discharged 12v batteries. The Harley battery tender was a life saver. Proves that such a simple things as a battery charger need not be that intelligent afterall! 

Wife's Yamaha was next. That needed a maintenance after some bad patches..or that's what i thought. In fact, it was in much better shape that i expected. Also, that was the vehicle which mostly gets used, so that wasn't a surprise ..Still, gave it a cleaning and checked cells and electrolyte. Also made a mental note to get a sealed lead acid if possible as there was some dirty stuff near a couple of cell caps. Luckily, the electrolyte levels were good.

The Octavia Mk2 was untouched for the last 3-4 months and this being the most used family car, planned more time for that. After getting in, the routine check showed all console lights with good brightness which meant the thing was not dead. Just wanted to crank and try, but resisted the temptation as that might clearly pull the plug on a weak battery. However, seeing the consistency of all electricals, just tried the horn and was it strong! a bit bold, cranked and it came to life in the first cranking, just like the way it was. Looks like quite some thought has gone into engineering the electricals in this one. Love this piece of machinery.

In sharp contrast, Octavia Mk1 says a different story. That was notorious for battery drain and 2-3 weeks of inactivity always showed on the dashboard with the weak lights. In 2 months the thing would be definitely dead. And it was!..on a brand new battery fully charged and loaded just before tucking in to sleep for COVID days. I hope there might not be sulphation or anything which cannot be fixed. That's for another weekend.


2. Playing around with Arduino Uno R3

This time i thought the best gift that i can get is to buy my son an Arduino kit. He wanted to tread the waters and what better way than to learn it with him! This is the super starter kit from Quadstore  and they have quite a nice Downloads section where there are a lot of examples which work out of the box with the components in the kit. 




All this is warming up to the Arduino Mega 2560 + Wifi board for a cool new project. That board combines the power and simplicity or Arduino and the ease of communication over wifi with the on-board esp 8266 which talks to the Mega over Serial. More on that later.

It was fun playing around with the SG90 servo, temp module. I have to say, the stepper motor needs more understanding as i could run the basic things, but controlling it with a potentiometer was not fully successful. The RGB LED was cool and Rithvik liked it the best, after the servo. The code implementations in most are really interesting..lot to learn. The warning based on distance with the Ultrasound module was my fav. There are lots of sensors and stuff to explore in this kit itself like IR receivers, tilt sensors, displays, etc and there's even a esp8266 daughter board. 

I'm also having a huge interest in the new CircuitPython boards which doesn't need compiling! Sweet...just like Python... They look very promising and so intuitive to a Python person like me.

3. Installing Height speakers to complete the 5.2.2 setup

The audiophile in me was searching for a worthy successor to the 10 yr old Harman Kardon AVR 134 and found that in a Marantz SR 5014. HK was a 5.1 unit and Marantz is a 7.2 unit. Though not much of a movie fan, always wanted to check out the ATMOS setup. Decided to go ahead with the Top Middle config for the height channel as most others are not that great. Tried the Front Dolby with normal speakers and the sound bleeding was horrible. The sound was supposed to reflect from the ceiling and i was getting it from everywhere, mostly from the speaker directly as they were radiating sideways as well. This is a case of you-get-it-when-you-don't-want-it as good off-axis performance of speakers is something of a necessity to have good sound stage. Also, the reviews about proper front dolby speakers were not that inspiring confidence. Also,  had a couple of JBLs lying around which is a perfect thing to take to the ceiling. 

Needed a clamp to mount the speakers on the ceiling with M6 anchor bolts. Amazon had the perfect clamp

Fixing the speakers to the clamp was a bit tricky as the JBLs didn't have a screw mount. So reused the hook-like mount and this meant a plate was needed to connect the hook-mount to the clamp. This came from a 1.5 inch aluminium angle from an old job.







The installation looks good, need some cosmetic adjustments though.

Configuration was manual with distances measured and levels set to +4db from with ref to surrounds. I use full range towers in surrounds, so they sound louder compared to the height speakers, so +4db sounds good, have a feeling it might be better with +6db, needs to see.

Dolby gives some nice demos to test, check them out, they're awesome...

LEAF TRAILER

AMAZE TRAILER


4. Setup AdGuard in Home Assistant

Wanted to see a way to optimize and protect the network from junk traffic and found that Home Assistant users already have this in the form of AdGuard, which is a better version of PiHole. Anyone who wants to clean up their traffic should have this, if there is a Linux box running 24x7. Home Assistant provides this as a community add-on and is the work of the awesome Frenck. This is not fully done yet for me as i still get the 'dns port in use' error and this needs to be fixed. The preliminary work is in setting the static IP and external DNS. Allocating an IP in router is not enough, this needs to be set in the machine itself where HA runs.

How to set static IP in Ubuntu Server 18.04 is here. This is now configured thru "Netplan" as  /etc/network/interfaces is not used anymore. More here. I didn't have the file 01-netcfg.yaml, so had to create it. The configuration is in yaml, so indentation is important

If you are connecting thru ssh to your headless server, make sure the new IP is not having duplicates in your router DHCP settings and that it is in your subnet. Failing that, the only way is to physically connect a monitor Don't ask me how i know.

DNS port error fixed:

Stop and sisable the service systemd-resolved

sudo systemctl stop systemd-resolved.service

sudo systemctl disable systemd-resolved.service

5. Pydroid 

SL4A and Python apps in android were a nice way to extend the Python experience to android devices. Now this has gone up a notch by the Pydroid app. It is very user-friendly and has a clean interface and is quite usable. There a minimal autocompletion and easy module import. The pip is well-integrated in this and searches the actual pypi, though some modules (maybe most) are not for the device. I'm more interested in the ones which didn't install, so will check back what happened. They are gdal and pandas. Geopy, shapely and many others went smooth. 

Menu

PyPi module search

Interpreter

Terminal


The experience is one of the best in an android device. Haven't tried if there is a module which exposes android sensors and stuff, but that's an easy guess, i hope. Some modules are for premium users, but Rs 299 for lifetime license is a minimal investment for a tool of this stature, especially if you love Python. 

Thursday, March 19, 2020

EASY and FAST Corona Virus dashboard in Home Assistant

I had setup the Plex integration for Home Assistant in the traditional way and had planned to try out the new way of integrating through the (vastly) improved interface for a long time. Seeing that there was quite some accumulation of Android Debug Bridge Server errors, wanted to correct that as well. I have to admit that I couldn't make much progress with the Rock64 running on Android TV 7.1 after the latest flashing, though it was working earlier and decided to wait.

For the Plex part, it was quite a breeze. After the setup, the Plex sensor, Plex media player and other mediaplayers connected to Plex were added. Config as below.

  • delete or rename the plex.conf
  • delete the config.yaml entries for plex:
  • remove any integrations
  • add an integration via integrations page.
It looks like this after the integrations were detected.
  

That was quick. Something struck the eye as I was going thru the list of new integrations and there was an item "Coronavirus". Since this is something in everyone's mind, I was curious and added the integration, which asks for the country name and then adds 4 items (confirmed, current, recovered, deaths) in each country as a sensor. The unit is people, of course.

After that, the states page shows 4 new entries, like so:

Added 2 more countries: UAE and Switzerland just for reference coz my brother stays in UAE and Switzerland is where my colleagues are. Now i have 12 sensors, GREAT!

There are various ways to have this in a graph, depending whether if it is on a web dashboard, mobile console or app. The lowest hanging fruit was the lovelace for my consoles running that. It was fairly easy setting up this card. My config below for the confirmed cases in 3 countries.

      - type: history-graph
        title: ''
        hours_to_show: 80
        entities:
          - entity: sensor.india_coronavirus_confirmed
            name: IN
          - entity: sensor.switzerland_coronavirus_confirmed
            name: CH
          - entity: sensor.united_arab_emirates_coronavirus_confirmed
            name: UAE
The dashboard in the mobile app looks useful!

The next plan is to have the Grafana chart pulling info from InfluxDB which offers infinite customization options. A sneak preview of what's cooking.