GoE Charger

Aus FHEMWiki

Der GoE-Charger ist eine WallBox des österreichischen Herstellers go-e (geründet 2015). Derzeit (2024) sind verschiedene Modelle im Angebot:

  • go-e Charger Gemini - WallBox mit 11 oder 22 kW Ladeleistung
  • go-e Charger Gemini Flex - mobile Version des obigen Gerätes zum Anschluss an eine vorhandene Kraftstromsteckdose
  • go-e Charger Gemini 2.0 - Variante des obigen Gerätes mit integrierter SIM-Karte für mobilen Datenzugriff
  • go-e Charger Gemini Flex 2.0 - mobile Version des obigen Gerätes zum Anschluss an eine vorhandene Kraftstromsteckdose

Einbindung via HTTPMOD

Die Abfrage und Steuerung erfolgen über das HTTPMOD-Modul, welches im Regelfall einmal pro Minute auf die wichtigsten Daten der Wallbox zugreift (auch manuell abrufbar als "get Wally status").

Benötigt wird dazu die IP-Adresse der Wallbox im lokalen Netzwerk, die in den nachfolgenden Code einzusetzen ist. Das Device heißt im Beispiel einfach Wally

Für den Fall, dass man zwischendurch den Status der Wallbox abfragen möchte (z.B. via Modul Babble), empfiehlt es sich, ein ständig aktuelles Reading message bereitzuhalten.

attr Wally babbleName wallbox
attr Wally userReadings <hier andere userReadings>,
  message:((car)|(charge)|(energy_total)).* {\
  my $ca=ReadingsVal("$NAME","car_num",0);;\
  my $ch=ReadingsVal("$NAME","charge_num",0);;\
  my $ret;;\
  if($ca==1){\
    $ret="An der Wallbox ist kein Fahrzeug angeschlossen";;\
  }elsif($ca=~/2|3/){\
    $ret="An der Wallbox ist der <Fahrzeugtyp> angeschlossen";;\
    if($ch=~/^([0-6]$)|(1[6,8])|(2[1-4])/){\
       my $nc=ReadingsVal("$NAME","charge",0);;\
       $ret.=", wird aber im Moment nicht geladen, der Grund dafür hat die Bezeichnung $nc";;\
    }elsif( $ch==12 ){\
       my $po=ReadingsVal("$NAME","power",0);;\
       my $en=ReadingsVal("$NAME","energy",0);;\
       $ret.=", wird mit solarem Überschuss von $po Kilowatt geladen und hat bereits $en Kilowattstunden erhalten.";;\
 }elsif( $ch==17 ){\
       my $en=ReadingsVal("$NAME","energy",0);;\
       $ret.=", die Ladung mit solarem Überschuss pausiert gerade. Der <Fahrzeugtyp> hat bereits $en Kilowattstunden erhalten.";;\
    }else{\
       my $po=ReadingsVal("$NAME","power",0);;\
       my $en=ReadingsVal("$NAME","energy",0);;\
       $ret.=", wird mit $po Kilowatt geladen und hat bereits $en Kilowattstunden erhalten.";;\
       my $du=ReadingsVal(<Device für das Fahrzeug>,"charge_timeremain",0);;\
       $ret.="Restladezeit etwa $du Minuten";;\
    }\
  }elsif($ca==4){\
    my $en=ReadingsVal("$NAME","energy",0);;\
    $ret="An der Wallbox ist der <Fahrzeugtyp> angeschlossen und wurde mit $en Kilowattstunden fertig geladen.";;\
  }else{\
    $ret="Die Wallbox befindet sich im Fehlerzustand, bitte überprüfen";;\
  }\
  return $ret},\
connection:LAST_ERROR.* {my $e=ReadingsVal("$NAME","LAST_ERROR","");;\
  if($e=~/timed out/){\
    return "timed_out"\
   }else{\
    return "ok"\
  }\
 }