Tesla Gen 3 Wallbox Monitoring mit InfluxDB

Die Gen 3 Wallbox von Tesla war KFW 440 förderfähig und muss deshalb in der Theorie vom Energieversorger gesteuert werden können. Meine Theorie ist, dass es deshalb eine nicht offiziell dokumentierte API gibt. Bis diese Steuerung spruchreif ist und die API nach “außen” hin verfügbar ist wäre es eine Schande diese nicht für eigene Zwecke zu benutzen. Die Wallbox muss dazu ins eigene WLAN eingebucht sein. API Übersicht Über die IP der Wallbox kann man die REST API abfragen. Weiterlesen →

Migrating from mdadm RAID 6 to btrfs RAID 5

Please note: This blog post is actually pretty boring. If you are expecting some btrfs RAID 5 or 6 secrets you’ll be disappointed! End of 2013 after I started working I bought my first Synology NAS with two 3 TByte drives in a RAID 1. I quickly filled it and ran out of storage space. I had a look at Synology devices with four or more slots but they were too expensive for just doing storage tasks. Weiterlesen →

Ubiquity: Unifi AP shows Timeout or Unknown[11]

I’ve experienced a strange issue with my Unfi controller software: All my access points on a remote site will adopt but then get stuck in the “Adopting”/“Getting ready” state. Factory resets etc did not help in any way. Restoring from backup did also not work. When I executed the info command on the access points they returned different status values depending on the firmware: 4.3.28.11361 -> “Status: Unknown[11]” 5.43.35.12698 -> “Status: Timeout” In my case it was a MTU problem. Weiterlesen →

OPNsense: RA Interface static vs dynamic

RA Interface: static vs dynamic Some time ago I suggested adding a checkbox (🖇️ 🔐) so users can stop radvd from deprecating the IPv6 prefix on shutdown and created a corresponding pull request. This was not merged because the team was not happy about how I implemented it. But they promised to add this feature which they actually did pretty quick. Under Services -> Router Advertisements -> LAN you can now choose between two options for RA Interface: Weiterlesen →

Realtime Börsenkurse in go/golang via lemon.markets

Update 27. Juny 2021: Der Anbieter hat die API abgeschaltet. In der neuen API Version ist ein Streaming über WebSockets aktuell nicht implementiert. Ich habe das GitHub Repo erstmal archiviert. Sobald es das Streaming wieder gibt werde ich die “Arbeit” daran wieder aufnehmen. Es ist unnötig schwer an Echtzeit-Kurse der deutschen Börsen zu kommen. Die unzählen Webseiten haben leider keine Realtime-Funktion und zeigen die Kurse nur 15 Minuten verzögert an. Selbst wenn einem das reicht, dann ist HTML parsen echt uncool. Weiterlesen →

OPNsense: Prefer source address

Note: This post is about IPv6 addresses. I assume it works with legacy IP, too (untested). Problem Before switching to a modem I had configured a static WAN address. I chose that address to be also used as WireGuard endpoint address. WireGuard has one major problem: You can’t configure the address it’s listening on. It relies on the underlying operating system to fill in the source address. And this can cause problems on a machine with multiple interfaces and addresses like an OPNsense firewall as you will see now. Weiterlesen →

Vigor 166 G.fast Modem

Ich bin Fan von Kombigeräten wie einer Fritz!Box. Vor allem, wenn der ISP die Geräte zur Verfügung stellt, da man im Support Fall immer auf den schimpfen kann. Bei Defekt bekommt man so ebenfalls schnell und unkompliziert ein Austauschgerät. Meine eigene Infrastruktur (OPNsense) betreibe ich dann dahinter. Durch Exposed Host ist das ja ziemlich einfach. Nun habe ich mich umentschieden und habe meine Fritz!Box 7583 mit einem DrayTek Vigor 166 Gen 2 ersetzt und mir meine public IPv4 und mein IPv6 Prefix so direkt auf WAN geholt. Weiterlesen →

Bye Bye Netcup: Meine Erfahrung

In meinem letzten Post habe ich geschrieben, dass ich meinen physischen Server bei Hetzner gekündigt habe und auf einen VPS bei Netcup umgestiegen bin. Dort bin ich aber das erste mal in meinem Leben auf die Probleme mit geswitchten IPv6 Prefixen gestolpert. Die Lösung ist ein NDP Proxy, was auch super funktioniert … außer bei Netcup. Mein Problem war, dass nach einiger Zeit die Einträge für meine IPv6 Adressen aus den Caches der Router geflogen sind. Weiterlesen →

Smartbroker: Automatischen Logout verhindern

Wer selbst Smartbroker Kunde ist kennt das: Fünf Minuten keine Aktivität im Depot und schon wird man automatisch ausgeloggt. Selbiges passiert auch bei Onlinebanking. Schuld daran ist die PSD2 Richtlinie. Um das zu verhindern kann man folgenden Code in die Konsole packen: function pressShiftButton() { const event = new KeyboardEvent('keydown', { view: window, bubbles: true, cancelable: true, key: "Shift" }); if (document.body.dispatchEvent(event)) { console.log('keypress successfull') } else { console.log('keypress not successfull') } } pressShiftButtonID = setInterval(pressShiftButton, 1000 * 60) Jede Minute wird nun ein Keydown Event für Shift abgesetzt. Weiterlesen →

Ansible copy module: src (or content) is required

In case your ansible task looks like this: - name: Copy WebGUI TLS private key copy: src: "{{ syncthing_gui_tls_private_path }}" dest: "/home/{{ syncthing_user }}/.config/syncthing/https-key.pem" owner: "{{ syncthing_user }}" group: "{{ syncthing_group }}" remote_src: true mode: "0600" notify: Restart syncthing but produces this message: fatal: [yourhost]: FAILED! => {“changed”: false, “msg”: “src (or content) is required”} Don’t get crazy! I know you used the copy module thousands of times just like me. Weiterlesen →