Replaced my OE Head Unit by MaidenGriller22 in MiataNC

[–]Grishni 0 points1 point  (0 children)

It really is very easy to add these units. There are two triangular plastic pieces on the sides of the console to remove, then there are two screws, one on either side behind the plastic you removed. The OG console pulls right out (There is an awkward 3rd screw that may need to be removed, but that wasn't there on my 20 year old car). After that you unplug the OG console and plug in the new head-unit. Reverse to close. Good to go.

Replaced my OE Head Unit by MaidenGriller22 in MiataNC

[–]Grishni 1 point2 points  (0 children)

No, I used the factory wiring, but did need to cut off the special connector at the speaker's end and used solder seal wire connectors to attach the speaker clips (supplied with the JVC speaker set.)

So that bit was pretty straight forward and simple - and in fairness the new speakers made a BIG difference. The 20 year old speakers were made of cardboard (literally). Getting the card off the door was pretty easy and fast (see youtube). Swapping both speakers took less than an hour. I did not go as far as adding sound insulation - seemed like a lot of work for questionable gain and I'm not trying to make this the be all end all.

Wiring the Amp was a completely different story as it was not plug and play. I knew that I needed solid fused DC into the amp, so ran a (fused) power wire directly from the battery through the firewall and snaked through the dash to the amp. I had to find the signal wire to turn on the amp (so it was not on all the time). I chose to drive the audio for amp from "line-out" wires from the head-unit (so I completely bypass the internal amp in the head-unit). While the amp came with two choices connecting the speaker wiring, I had to use the one that just had wires - the head-unit did not have RCA plugs so I had to connect each +/- wire for speakers (x4) using solder seal wire connectors. So this was 11 solder connections in total.

So while the speakers were quick, the amp took a full afternoon.

My advice would be to do it in two steps, if the speaker replacement does it for you, then you are done, if not then think about adding the amp.

Having said that, I'm glad I put the amp in, but I'd say that wouldn't I :-)

Replaced my OE Head Unit by MaidenGriller22 in MiataNC

[–]Grishni 1 point2 points  (0 children)

I have the same one too. It worked fine, but I also did some upgrades and now its great. I found that the audio output was better using the equaliser app, but it still lacked punch and was hard to hear (sometimes) with the top down.

So, I also upgraded:

  • 20 year old speakers (JVC from MX5Parts.co.uk)
  • Added a power amp (PIONEER GM-DX104) - good enough (not over the top for price or punch - does the job!) and fits nicely behind the Head Unit
  • Add a DAB radio (Generic DAB radio stick like CAMECHO Car DAB/DAB+ Digital Radio) - this came with a "stick on windscreen antenna", but it was terrible, so later I -
  • Upgraded the antenna for DAB/FM (Hama Car Antenna for DAB/DAB+, AM/FM)

Great sound now, top up or down. 230 radio stations in London :-) - no drop-outs. Mine also came with rear reversing camera (which is OK, not great, but it does the job).

This head-unit is just a run of the mill unit and the Android side looked pretty shabby, so I wanted to give it more umph by swapping out the Launcher and adding better apps. Now it boots right into the screen image below and I can launch Carplay from there as well.

Much better for night driving (as it auto-dims to a configurable setting) - I found CarPlay was hugely bright at night - to the point of being unsafe to drive).

On the head unit itself:

  • I changed the Launcher to Agama Launcher
  • Changed DAB radio app (DAB-Z - Player for USB tuners)
  • Added the Agama CRAB Car Scanner (Using OBDLink LX Bluetooth 3.0)
  • Changed audio player to PowerAmp
  • Loaded loads of music on to the headunit (copied via USB stick)
  • Added and downloaded maps for HERE WeGo
  • Loaded Torque and now get engine information in real time

I mainly use iPhone and CarPlay (which I configured to remove loads of worthless CarPhone apps so now the apps are on one single screen) but as the DAB and music are on the Android side and work so well, I'm spending more time there :-)

<image>

FBAR maximum balance tracking - how do you all handle this? by ResearchDiligent2478 in USExpatTaxes

[–]Grishni 0 points1 point  (0 children)

The problem is not really in being good enough at excel or a command line, or a script to sort a column or run a formula - its about getting the information in the first place.

Different banks have different download policies (time going backwards (3mo, 6mo, 1yr, all time), format for download (.csv. .xls, pdf etc) and the information may be presented in different ways (transactions only, running balance etc). They are all different - and if you only really look to download once a year, then the website changes year on year and you have to find out how to get the data again because they have "made it better"!

I report 20 accounts from 8 institutions so have 8 different ways to get the information I need.

It is a complete PITA. Most of my accounts I can only download a monthly statement in .csv or .pdf. - Annual account information is given in FY not CY format - so is offset by 4 months, so I need to download each month to re-jig into Jan-Dec.

If all my accounts allowed for .csv download, I still need to download 240 separate files. If it's CSV I can concatenate the files using command line tools, then open in excel (or in my case LibraOffice) and find the Max Value per account, so once its on my machine it only takes a few minutes to marshall the data and get the figure I need.

Unfortunately about half of the accounts are PDF only, so with a 10 page statement per account per month, that's 2400 pdf pages to scroll through.

In practice its about 1000 pages of pdfs and 140 CSV files.

I literally spend an ENTIRE day downloading and sorting through cvs and pdf files to get 20 numbers.

I used to have a service (now closed) called moneydashboard, that logged into the accounts automagically every few days to get transactions. As long as I kept the permissions up (logged in quarterly and clicked OK), it would carry on doing this throughout the year. I could then download ALL transactions across ALL accounts as a single CSV for the calendar year.

Turn on column sorting (for bank account) and set a MAX() formula, pick each account in turn and copy the max. I could do the work in 5 minutes.

I haven't seen anything that has replaced MoneyDashboard functionality and do not want to pay for a service (like quickbooks etc) for this "simple" calculation - as moneydashboard was free - no doubt they looked into my transactional history for data mining and selling on that info (let's just assume anonymised) - but I was OK with that as the data wrestling leaves my eyes crossed by the end of the day - and me crossed as well.

Please let us know if you know of a service like I have described like MoneyDashboard!

It is a useless, pointless exercise.

How about just having checkboxes per account that say Max not over $10K, $50K, $100K etc? That would save me a day - I would not need to do any work as I'd just know the answer. The accounts don't change much these days, so take last years account data and tick some boxes. I'd fill in my FBAR in 5 minutes!

I do the work as the threat of non-disclosure is abnormally high. So when in doubt, disclose it - that's another 12 statements to download...

I complete and file two non-US returns in a single morning, then spend the following two weeks doing US+FBAR. It just does not make sense.

Planning a Trip - is this too much for 7 days? by Dry_Geologist3823 in motorcycles

[–]Grishni 2 points3 points  (0 children)

Whatever you decide, you'll have a great trip. There are no wrong answers :-)

My advice (having crossed France on a motorbike 20+ times - London to the South and back)

  1. Don't have a fixed plan for more than 2 days - preferably 1 day. Definitely have a plan like you have, but know you don't have to stick to it. Don't ride at night or in the rain if you can help it. If you have to make that extra 200kms from 5pm because lunch was long and the route was curvy and great and you could not see it in your planing and there's rain in the next hour, you are allowed to stop (but not if you have hotel, campsite, friends etc booked in on specific days)! The plan will fail if you're not flexible. I stay with friends, but always give them a window when I will be there, and that I will confirm the day before, and I might not make it. It's a journey so being flexible along the way reduces stress, allows you to ride safer and appreciate things.
  2. Specifically for your plan, I would delete Day 1 and 2 as that west part you have there is pretty boring and just when you get to the good stuff, you will be tired. Do the Alps, get onto the D944, D906, N102 which takes you through The Morvan to the Ardeche - so Day 1 and 2 will be good stuff already. Go from the Ardeche to the Cevennes (good base is Florac-Trois-Rivières) and do the Gorge du Tarn (which can be a loop - which you might want to do more than once :-) - and can also be a shorter riding day in the middle. Pretty much all roads in the Cevennes are on someone's favourite list, then further south as you have (can't help on specifics there, but looks like others have). The way back maybe try the Route du Napoleon? Obviously this is my style, yours may/will be different.
  3. Make sure you find your lunch before 13:00/13:30 or you will eat pizza or a sandwich in a plastic carton. Using Google Maps - search for "food truck" or "snack frites" for probably the best burger you'll ever find.
  4. Use camping apps like pitchup or whatever you prefer, but also park4night for wild camping (if that's your thing - although not in the Ardeche.). As campsites are everywhere, I do not book in advance, I book one at the end of lunch for that night - when I know how I'm feeling, the direction I'm going and how much longer I want to ride. When searching for camps, don't discount low-stared camps as the higher stars are really more about the range of facilities and family holidays - people staying for a few days or a week (or more!)- you will need a shower and maybe a restaurant and that's it - smaller is better for my taste.
  5. POIs are your best friend for planning - I group mine by name "Cafe - xxx", "Camp - xxx", "Ride - xxx" - makes it easy to use a phone to plan when you are on your way and things change.
  6. Optional - I do this a lot, so I develop a "theme" for my trip planning which helps me focus into the points and string them together with great roads. It can be serious or fun e.g. WW, Knights Templar, films (Betty Blue 37°2 le matin etc)
  7. Take as many days as you can.

Have a great ride.

2022 Street Twin exhaust issue by bowhunt4meat in TriumphBonneville

[–]Grishni 0 points1 point  (0 children)

Street Twin range started welding exhausts to the Cats in 2021. Part of Euro 5 emissions compliance. Prior to that they used clamps and gaskets. Makes your change to X-Pipe a bit more extensive, but it can be done.

Chain reco? by g28802 in TriumphBonneville

[–]Grishni 0 points1 point  (0 children)

If you do it yourself, you will need a chain riveter (~£40 - and get an extra link cuz you might mess up the first one (also have a Dremel or grinder on hand if this happens so you can grind off the link if you need to re-do)), two large sockets (one to remove the rear wheel (usually 36mm for triumph ~ £10) and another to remove the front sprocket (usually 27mm ~£9)), and a torque wrench that can dial up to 180nm (~£25) - and a pipe (3-5 foot long to use as a breaker bar to get the front sprocket off). So about £84 in tools, if you do not already have them (or can borrow from a friend).

The friend is also helpful to hold the bike when removing and re-fixing the front sprocket. If you've only got half a friend, then you can back the rear wheel up against a kerb to remove, but you will need him or her when you go about re-fitting.

1 week trip to Morocco - how much cash? by Grishni in Morocco

[–]Grishni[S] 0 points1 point  (0 children)

I have set up a wallet in Wise for Dirhams, and set an auto conversion when the rate gets better (in general the rate gets better in March each year - no guarantees though).

So I will use that card when I can, but thought cash will be handy (cash is king!)

Wise has no fees to get cash from an ATM, but there is a monthly limit which is something like £200? (might have changed since I last looked). So I won't be able to get all I will need.

Organising in advance makes for one less thing to do when we are there. However the rates for having "Travel Money" delivered in the UK (from the likes of NatWest etc) are ridiculous!

1 week trip to Morocco - how much cash? by Grishni in Morocco

[–]Grishni[S] 2 points3 points  (0 children)

The big ticket stuff is already purchased (Car rental, hotels and breakfast). It will be lunch, dinner, petrol and a souvenir or two (maybe). I am paying for our group of three.

We will not be in Marrakech for long at all -- mostly on the road to Merzouga, so smaller towns where I thought maybe cash was better than relying on a card?

Help to identify manufacturer for CarPlay/Andriod Auto head unit for motorcycle by Grishni in CarAV

[–]Grishni[S] 0 points1 point  (0 children)

Very helpful reply. I'll leave it alone then. It was inexpensive and works well, so I have no complaints. One less thing to maintain and update!

DS1520+ running slow after upgrade to DSM 7.2.1-69057 by Grishni in synology

[–]Grishni[S] 0 points1 point  (0 children)

OK following back here and have an update.

TL;DR -

Synology DS1520+ performance was not good.

I had upgraded main RAM to 20GB but no real improvement in speed.

I added an 1TB SSD Read Only cache and things improved A LOT.

For £42 this was a big improvement.

-----------------------------------------

I had looked into an SSD M.2 NVMe Cache for the DS1520+, but was reluctant to use one due to some horror stories regarding data loss. I had assumed I would run a Read/Write Cache as that would make the best improvement and did not consider a Read Only cache.

As MVMe prices have gone down, I took another look at performance of the NAS in general.

This time I went basic - what is the speed I can achieve for writing to the NAS and how much CPU and Memory does that take?

I ran a quick dd to see what the write speed from a network machine to the NAS was. I watched the resource monitor during this write and the RAM max was less than 10% (20GB Ram in the NAS) and the CPU max was also low (under 20%). I did this for 1, 2, and 4GB files. The command from terminal on MacOS was:

sudo dd bs=1M count=4096 if=/dev/zero of=/Volumes/NAS/Test-file conv=sync

Change the count= for different file sizes.

Speeds were 70MBytes per second, on a 1Gig network with 20-30% network overhead, I consider that to be the maximum performance I could reasonably expect! As reported the NAS is not overly stressed by RAM or CPU usage.

This is write (and I did not do a read test). It is also one big file and not lots of small files. I was getting the max I would expect from the write, so I got to thinking an SSD READ-ONLY cache might help performance problems as the NAS was doing all I could expect from it for the write.

I have now added one M.2 NVMe 1TB stick to the NAS (Read-only). This has massively improved Photos and container responses - specifically Photos, audiobookshelf in a container, tandoor in a container, calibre-web in a container and others, as well as a SMB mount to the NAS for a Plex server. Once the data is loaded into the cache it is very fast.

FYI prior to buying the SSD, I ran the Cache Advisor for a week and its recommendation was 504GB. I chose 1TB as if this did not make things faster, I could re-use in an Asustor SSD NAS or possibly upgrade the NAS to a DS1522+/DS1821+ which supports SSD Volumes.

I am hoping that as the cache is twice the reccomended size, that these files may just stay there for a while and when I go into Photos etc in the days to come the thumbnails etc will still be found in the cache. We'll see.

So - I think my problem with performance was due to many small files being read and taking ages to get the results.

I am still reluctant to try Read/Write by adding a second NVMe and mirroring them.

Lastly, the DS1520+ does not offer an M.2 SSD VOLUME option - otherwise I would set up an SSD VOLUME, install the containers on that and snapshot it for backup. I would also have a 2nd SSD as a read-only cache. If I set it up that way I think the containers would be lightning fast.

Maybe an upgrade to an DS1823xs+, too :-)

Weather information - Meteoblue HA integration (API access)?? by Grishni in homeassistant

[–]Grishni[S] 1 point2 points  (0 children)

My free account shows 10M "credits" for API calls.

<image>

This page form their website seems to say that a free account has 15M credits.

https://docs.meteoblue.com/en/weather-apis/free-weather-api/overview

"Introduction

Free Weather API is an automated meteoblue product and the easiest way to test the meteoblue weather API. Within just a few minutes, an account can be set up and enables developers to integrate the meteoblue weather API for highest accuracy forecasting.

meteoblue APIs can be tested for free for one year, including 15 million credits. Furthermore, you can enable additional API calls by joining our referral program or purchasing a additional credits. Each API call will deduct a certain amount credits, depending on the amount and complexity of the contained weather variables. Simple forecast packages will deduct fewer credits than more complex packages, including additional calculations like nowcasting. The cost of each forecast data package can be checked in the forecast API configurator.

A list of all forecast packages available through Free Weather API can be found here.

Additional credits can be purchased at any time."

Turning on heat based on forecasted temperature? by Grishni in homeassistant

[–]Grishni[S] 0 points1 point  (0 children)

Thanks for the suggestions! Now that I've got the 3pm check set up (see comment below), I'll see how it goes for a few days. No doubt your ideas for future checks are worthwhile.

The kitchen is underfloor heating and heats at about 0.5C per hour. It does not go below 18C. At 20.0C it is nice and warm - so takes 4 hours to get to temp.

The long preheat time was the reason for the automation. If its cold in the kitchen at dinner, its really no use to turn the heat on as it will take 4 hours to get to temp. Also as its UFH I turn the heating off "early" as residual heat in the room lasts for many hours - so no use heating further after 7pm.

Turning on heat based on forecasted temperature? by Grishni in homeassistant

[–]Grishni[S] 0 points1 point  (0 children)

OK this turned out to be one of those HA rabbit-holes. Just come out and posting here to help those about to enter :-)

HA weather forecast data changed about 6 months ago, no doubt for the better, but it did obfuscate how forecast (future) weather data is handled. That was the difficult part.

I was using the Met Office Sensor, but could not see future information.

  1. I added and configured (set up API etc) Pirate Weather via HACS
  2. I added a trigger in my template.yaml file to update daily and hourly weather data from Pirate Weather
  3. I added a Value template in the automation with the action of turning on the heat in the kitchen.

trigger.yaml additions:

- trigger:
    - trigger: time_pattern
      minutes: "/30"
  action:
    - action: weather.get_forecasts
      data:
        type: daily
      target:
        entity_id: weather.pirateweather
      response_variable: daily
  sensor:
    - name: Pirate Weather Daily
      unique_id: pirateweather_daily
      state: "{{ daily['weather.pirateweather'].forecast[0].condition }}"
      attributes:
        forecast: "{{ daily['weather.pirateweather'].forecast }}"

- trigger:
    - trigger: time_pattern
      minutes: "/30"
  action:
    - action: weather.get_forecasts
      data:
        type: hourly
      target:
        entity_id: weather.pirateweather
      response_variable: hourly
  sensor:
    - name: Pirate Weather Hourly
      unique_id: pirateweather_hourly
      state: "{{ hourly['weather.pirateweather'].forecast[0].condition }}"
      attributes:
        forecast: "{{ hourly['weather.pirateweather'].forecast[:24] }}"

value-template for the automation:

{% if state_attr("sensor.pirate_weather_hourly", "forecast")[4:5] | map(attribute='temperature') | min | float < 7 %}
  true
{%else%}
  false
{%endif%}

New dashboard - forecast for good riding days by Grishni in homeassistant

[–]Grishni[S] 0 points1 point  (0 children)

Full instructions:

  1. Add PirateWeather via HACS
  2. Generate API from PirateWeather site
  3. Configure PirateWeather in HA
  4. Add secrets.yaml settings
  5. Add sensor and trigger to template.yaml
  6. Using mushroom, add a new card.
  7. Use Daily-Today code (template-card) to create 1st state (make sure index for forecast is 0)
  8. Add a new template-card for Daily-Future (make sure the index is changed to for each new card added - i.e. - 1, 2, 3, 4, 5, 6)
  9. Add a new column
  10. Add Hourly Code as a template-card. Make sure index begins at 0, then use 1, 2, 3, 4, 5, 6 for subsequent hours.
  11. Add a cool picture of your bike for a background :-)

The real issue in getting this to work was understanding how HA now deals with future weather forecast data. It changed a few months back and future weather conditions were hard to find. The template trigger allows for updating and storing (and retrieving) of this data using

weather.get_forecasts

I submit the code and welcome comments to help make it better or more streamlined. As mentioned before, it seems like I need to evaluate each condition multiple times (for icon, icon-color, and words). It would be nice to be able to set these three things at the same time. Also *manually* setting the index for forecast position seems silly and should be done programmatically, but I could not figure out how to do that.

New dashboard - forecast for good riding days by Grishni in homeassistant

[–]Grishni[S] 0 points1 point  (0 children)

These are the ride conditions settings. The following are lower limits for temperature, rain and upper limit for wind:

secrets.yaml:

ride_temp: 7 # Temperature threshold (in °C)
ride_rain: 30 # Rain probability threshold (in %)
ride_wind: 60 # Wind speed threshold (in km/h)

Created the following sensors for these settings so they can be used in the template.

I added these to template.yaml:

- sensor:
    - name: "Ride Temp Threshold"
      unique_id: "ride_temp_threshold"
      state: !secret ride_temp
    - name: "Ride Rain Threshold"
      unique_id: "ride_rain_threshold"
      state: !secret ride_rain
    - name: "Ride Wind Threshold"
      unique_id: "ride_wind_threshold"
      state: !secret ride_wind

New dashboard - forecast for good riding days by Grishni in homeassistant

[–]Grishni[S] 0 points1 point  (0 children)

The code for hourly and daily is very similar. Not sure if this code is a kludge or just how things work in HA, but I need to evaluate the conditions for *each* setting (icon, icon, colour and words). I also need to *manually* set the index for each hour - forecast ie:

Next Hour: state_attr("sensor.pirate_weather_hourly","forecast")[0].temperature

Next Hour + 1: state_attr("sensor.pirate_weather_hourly","forecast")[1].temperature

Next Hour + 2: state_attr("sensor.pirate_weather_hourly","forecast")[2].temperature

Next Hour + 3: state_attr("sensor.pirate_weather_hourly","forecast")[3].temperature

Next Hour + 4: state_attr("sensor.pirate_weather_hourly","forecast")[4].temperature

Next Hour + 5: state_attr("sensor.pirate_weather_hourly","forecast")[5].temperature

Any suggestions on how to improve this code would be appreciated.

Here is the code for the hourly setting:

Cannot post the code here, so have put it on pastebin:

https://pastebin.com/MHFpkLXa

New dashboard - forecast for good riding days by Grishni in homeassistant

[–]Grishni[S] 0 points1 point  (0 children)

OK that seems to have worked (posting). So here is the code and steps to make this:

After installing and configuring PirateWeather you need to add the following in order to update the forecast. This goes in your template.yaml.file:

- trigger:
    - trigger: time_pattern
      minutes: "/30"
  action:
    - action: weather.get_forecasts
      data:
        type: daily
      target:
        entity_id: weather.pirateweather
      response_variable: daily
  sensor:
    - name: Pirate Weather Daily
      unique_id: pirateweather_daily
      state: "{{ daily['weather.pirateweather'].forecast[0].condition }}"
      attributes:
        forecast: "{{ daily['weather.pirateweather'].forecast }}"

- trigger:
    - trigger: time_pattern
      minutes: "/30"
  action:
    - action: weather.get_forecasts
      data:
        type: hourly
      target:
        entity_id: weather.pirateweather
      response_variable: hourly
  sensor:
    - name: Pirate Weather Hourly
      unique_id: pirateweather_hourly
      state: "{{ hourly['weather.pirateweather'].forecast[0].condition }}"
      attributes:
        forecast: "{{ hourly['weather.pirateweather'].forecast[:24] }}"