Umzug auf einen neuen Host

unifox.at ist auch eine Spielwiese für mich um neue Techniken und Software-Pakete im Internet zu testen.

So ist es immer wieder mal notwendig einen Server neu zu installieren. (wie auch jetzt gerade…)

 

Varchar 255; max key length is 767 bytes

Ich habe schon wieder herumgoogeln müssen, weil ich mich nicht mehr daran erinnern konnte, warum ich keinen Index auf einer MySQL-Tabelle auf einer Spalte mit varchar(255) anlegen konnte.

Die Fehlermeldung

Specified key was too long; max key length is 767 bytes

bei einem Varchar(255) hatte ich schon mal gesehen, aber leider wieder vergessen.

Damit ich es mir selber besser merke:

Ein Varchar(255) hat nur z.B. bei latin1 eine Größe von 255 Bytes.
Bei UTF8 werden bis zu 3 Bytes pro Zeichen und bei utf8mb4 werden bis zu 4 Bytes pro zeichen belegt.

255*4=1020 > 767

Dann werde ich die SQL-Spaltendefinition auf Varchar(191) ändern und dann prüfen ob das Resourcespace simpleldap Plugin noch funktioniert.

Wenn nicht, werde ich vermutlich etwas umschreiben müssen.

Firewalls

Ich darf nun schon seit einiger Zeit Firewalls überarbeiten.

Linux IPTABLES-Scripte überarbeiten, dokumentieren und auf neue Linux-Server migrieren.
Zusätzlich werden nun auch noch einige Firewalls in einen neuen Checkpoint Firewall-Cluster migriert.

Was bisher mit Servern funktionierte, klappt nun auch mit Firewalls.

rechte Maustaste -> Neu
und schon hat man eine neue Firewall.

Es ist immer wieder spannend (egal wie gut man etwas vorbereitet hat) wenn dann die neue Firewall die alte ablöst.

Der angespannte Blick auf das Telefon, wer meldet als erster, wenn etwas nicht geht…

Es ist immer wieder toll sich mit Kollegen auszutauschen, neues zu lernen und alternative Blickwinkel gezeigt zu bekommen.

Smarthome

Ich spiele schon länger mit dem Gedanken, mir eine intelligente Haussteuerung zuzulegen.

Haussteuerung ist für meinen Fall eine zu übertriebene Formulierung. Ich schalte gerne meine Lichter selber ein, habe keine elektrischen Rollläden usw… (Vielleicht hätte ich unser Haus technikverliebter installiert, wenn meine Frau nicht gewesen wäre).

Aber ich besitze eine kleine Photovoltaik-Anlage und bin (auch uf Grund der schlechten Einspeisetarife) daran interessiert möglichst viel der selbst erzeugten Energie zu nutzen.

Da soll nun das intelligente Haus ansetzen.

Da ich immer die Hoheit meiner Daten haben möchte, bekommen alle Cloudbasierten oder gehosteten Lösungen gar keine Chance.

Meine ersten Versuche  im SmartHome Bereich unternahm ich mit FHEM.  Jeder der mich kennt, weiß dass ich gerne an den Dingern herumbastle und selbst Änderungen vornehmen will.  Leider konnte ich mich nie so richtig mit Perl anfreunden. Daher ist FHEM nichts für mich, obwohl es  vielleicht ein super Tool ist, um ein Smarthomesystem aufzubauen.

Bei OpenHBA steht: Developed in Java. Ich möchte hier keinen Programmiersprachenkrieg anzetteln, aber Java ist auch nicht so meines…

So kam ich dann irgendwann zu smarthomeng. SmartHomeNg wird in Python programmiert und das habe ich zumindest schon mal gemacht… (Python programmiert). So habe ich mich gleich darin versucht ein neues Plugin für meinen Kostal Wechelrichter zu programmieren. Aktuell werden die Funktionen des „alten“ Plugins und die neue Kommunikationsart in einem Plugin zusammengeführt.

Ich habe mich noch nicht auf SmartHomeNG versteift, aber die Möglichkeit mit meinen bescheidenen Fähigkeiten, Anpassungen zu realisieren, ist für mich ein Pluspunkt.

Ich glaube ich werde mich noch viel mit SmartHomeNg beschäftigen. Wenn ich Interessantes herausfinde, werde ich es im Wiki oder hier wieder aufschreiben…

Electric Vehicle Charging Stations / Schnarchlader mit Handbremse

variable Elaktroauto – Ladung

Ich fahre seit ca. 3 Jahren elektrisch (E-Auto).
Ich möchte möglichst viel meiner erzeugten Energie (PV-Anlage) verbrauchen.
So war es nur eine Frage der Zeit, bis ich meine OpenEVSE irgendwie fern steuere.

Mein SMA – EM liefert mir jede Sekunde genaue Werte zu Verbrauch und Überschuss.
Was noch fehlte war eine Verbindung zur OpenEVSE. Klar kann man die OpenEVSE direkt mit einem FTDI Adapter an einen PC oder RaspberryPi anschließen und damit fern steuern.
Ich wollte aber keinen RaspberryPi im Carport platzieren, oder ein Serielles- oder USB-Kabel verlegen.

Das muss doch auch über WLAN möglich sein.
Ein ESP8266 schien mir dafür gut geeignet.

Ich habe mir dann eine kleine Platine zur Programmierung des ESP8266 gebaut.
Ein bisschen gegoogelt und recht schnell mit der Basis von (link nicht mehr verfügbar) einen Webserver am ESP8266 eingerichtet.

Nun kann ich OpenEVSE Fernzugriffskommandos in einer URL direkt an meine Ladestation senden.

JA-Quick und Diry, aber es geht.
Dafür, dass ich das erste mal einen solchen ESP-8266 verwende bin ich ganz zufrieden.

Da ich sicher öfter neue Versionen oder Features einbauen werde, musste das DING in der Ladestation einfach zu tauschen sein.

Nun kann ich mit einem kleinen Schlitzschraubendreher die Abdeckung entfernen, den ESP8266 – SOC entfernen, neu programmieren und wieder problemlos einsetzen.

Nächste Schritte: Meinem SMA-EM-Daemon eine Logik beibringen, die eine sinnvolle Autoladung ermöglicht.

Ach Ja. Sollte ich mal wollen, dass das Auto geladen wird, unabhängig davon ob ich ausreichend Energie produziere, so kann die Remote-Steuerung deaktiviert werden. Es werden danach keine Daten an OpenEVSE weitergegeben.

 

V2 braucht unbedingt zusätzliches – reconnect – feature

Leider legt sich mein Elektroauto „schlafen“, wenn ich die Ladung stoppe. (Ich habe auch schon davon gelesen, das andere Modelle das auch machen.)

Dauert ein Ladestopp länger als ca. 30 Sekunden, ignoriert das Auto spätere Informationen über Lademöglichkeiten.

V2 wird daher noch 2 Relais bekommen, welche kurz PP und Pilot unterbrechen kann. Dann glaubt das Auto, dass ich den Stecker gezogen habe und gleich wieder eingesteckt habe. Dann beginnt das Auto auch wieder zu laden…

Warum Schnarchlader mit Handbremse:
In der ELEKTRO-Auto-Szene wird eine Ladeleistung unter 11kW als Schnarchlader bezeichnet; weil es einfach lange dauert.

Wenn ich nun diese Ladeleistung noch weiter reduziere… 😉

 

Coding