Bug Finder

ChargeHub Service Device

Hanterar direkt kommunikation med fysiska laddstationer via tre protokoll: UDP (eget proprietärt binärt), MacAddress-WebSocket (eget proprietärt V1/V2) och OCPP 1.6 (branschstandard). Kör som 4+ Kubernetes-poddar med distribuerad state via cache och RabbitMQ-events. Central komponent är StationStateRegistry som håller alla stationers tillstånd.

2

Loggfiler

15

Kunskaper

0

Misstänkta buggar

1

Diskussioner
Kunskapsbas
Beteende 6
Ursprung Beskrivning Källa Konf.
Manuell Hanterar direkt kommunikation med fysiska laddstationer via tre protokoll: UDP (eget proprietärt), MacAddress-WebSocket (eget proprietärt V1/V2) och OCPP 1.6 (branschstandard via WebSocket). Källkod + manuell 100 %
Manuell Kör i Kubernetes med minst 4 poddar: 3 generella (chargehub-service-device-*) och 1 UDP-dedikerad (chargehub-service-device-udp). UDP-servern lyssnar på port 65101. Loggar + källkod 100 %
Manuell StationStateRegistry är central state hub — lagrar tillstånd i distribuerad cache och publicerar 20+ eventtyper vid tillståndsändringar (ChargeChangedEvent, VoltageChangedEvent, AlarmStateChangedEvent etc). Källkod 100 %
Manuell DesiredChargeStateChangedHandler tar emot ChargeStateChangeRequestedEvent via RabbitMQ. Alla poddar får eventet (broadcast) men bara en är Handler=True och agerar. Övriga loggar Handler=False. Loggar + källkod 100 %
Diskussion StationStateRegistry använder lokal in-memory cache per pod med event-driven invalidering. Specifika meddelanden för olika StationState-element signalerar invalidering av motsvarande lokala cache-poster. SetState-metoden är granulär med nullbara parametrar — null betyder "ändra ej detta element". Redis fungerar som fallback-cache utan TTL/expiration; StationState överlever pod-omstarter. StationState innehåller tidsstämplar som indikerar när förändringar skedde. Diskussion #1 95 %
Manuell ConnectivityStateRegistry spårar enheters anslutningsstatus (Connected/Disconnected) baserat på heartbeat-timeout. Kör offline-detektion periodiskt. Källkod + loggar 90 %
Mönster 5
Ursprung Beskrivning Källa Konf.
Manuell UDP-enheter skickar JSON-paket med status (rssi, voltage, power, evState, cableState) ungefär varje sekund. Varje enhet kan ha 1-2 outlets (stationer). Svar skickas som krypterade binärpaket. Loggar + källkod 100 %
Manuell MacAddress-enheter har två typer: ChargeDevice (laddning) och Analyzer (energimätning). Identifieras med MAC-adresser (t.ex. b8:27:eb:e4:6f:d8). Kommunicerar via binärt WebSocket-protokoll. Källkod + loggar 100 %
Manuell OCPP-stationer kommunicerar via WebSocket med JSON-meddelanden enligt OCPP 1.6: MeterValues, StatusNotification, StartTransaction, StopTransaction. Identifieras med strängar som 000002596. Loggar 90 %
Manuell 'No PowerChangedEvent' loggas ~4000 ggr/minut — det är normalt och betyder att effekten inte ändrats sedan förra uppdateringen. Extremt verbose för DEBUG-nivå. Loggar 90 %
Manuell VoltageAlarm loggas som INFO när en fas visar 0V — vanligt vid enfas-laddning där laddboxen rapporterar 3-fas-konfiguration men bara använder 1-2 faser. Loggar 80 %
Begränsning 2
Ursprung Beskrivning Källa Konf.
Manuell Broadcast av RabbitMQ-events till alla poddar genererar mycket logg-noise: 3 poddar loggar Handler=False per event. Kan vara värt att sänka loggnivå för icke-hanterande poddar. Loggar 80 %
Manuell WebSocket-fel (invalid state Closed) loggas som INFO — sker vid normala frånkopplingar. Borde kanske vara DEBUG eller hanteras tystare. Loggar 70 %
Integration 2
Ursprung Beskrivning Källa Konf.
Manuell Kommunicerar med LoadBalancer-tjänsten via RabbitMQ/EasyNetQ: tar emot ChargeStateChangeRequestedEvent, publicerar StationPingEvent, ChargeChangedEvent, MeasurementEvent, EvStateChangedEvent. Källkod 100 %
Manuell Använder SessionService (platform client) för att hämta session-data: användare, energi, tider, prioritet. Anropas vid varje MeterValues-meddelande från OCPP-stationer. Loggar + källkod 90 %
Lägg till kunskap
Loggfiler
FilnamnFormatStatusImporterad
chargehub_service_device.log Text Ny 2026-04-08 06:11 Analysera
chargehub_service_device.90360.log Text Ny 2026-04-07 18:28 Analysera
Ett oväntat fel uppstod. Ladda om 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.