Module imow.common.messages
Expand source code
from typing import Tuple
from imow.common.exceptions import MessageNotFoundError
class Message:
def __init__(
self,
message_id,
message,
short_code,
action,
priority,
picture_message,
picture,
status,
):
self.id = message_id
self.message = message
self.shortCode = short_code
self.action = action
self.priority = priority
self.pictureMessage = picture_message
self.picture = picture
self.status = status
class Messages:
def __init__(self, i18n: dict):
"""Class to match a shortCode (mower.status['extraStatus']) to an error 'id' and give back the translated
messages.
i18n: An upstream language dict, fetched from imow api
"""
self.i18n = i18n
self.success_messages = [
Message(
"1337",
"Ruhezustand",
0,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message("1338", "Fehler", 1, "--", 2, "Fehler", "error", "red"),
Message(
"1339",
"Ruhezustand",
2,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1340",
"Ruhezustand",
3,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1341",
"Ruhezustand",
4,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1342",
"Am Mähen",
5,
"Fachhändler",
2,
"Am Mähen",
"mow",
"green",
),
Message(
"1343",
"Im Dock",
6,
"--",
2,
"Im Dock",
"dock",
"green",
),
Message(
"1344",
"Laden",
7,
"--",
2,
"Laden",
"charge",
"green",
),
Message(
"1345",
"Ruhezustand",
8,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1346",
"Ruhezustand",
9,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1347",
"Ruhezustand",
10,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1348",
"Unterwegs",
11,
"--",
2,
"Unterwegs",
"home",
"green",
),
Message(
"1349",
"Ruhezustand",
12,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1350",
"Ruhezustand",
13,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
Message(
"1351",
"Ruhezustand",
14,
"--",
2,
"Ruhezustand",
"idle",
"green",
),
]
self.error_messages = [
Message(
"0000",
"Kein Fehler",
0,
"---",
"---",
"Interner Fehler",
"dockerror",
"red",
),
Message(
"0001",
"EEPROM Datenverlust",
1,
"---",
"---",
"Interner Fehler",
"dockerror",
"red",
),
Message(
"0002",
"Fehler RTC",
2,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0003",
"Fehler EEPROM",
3,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0004",
"Fehler SPI Flash",
4,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0005",
"Falsche Hardware",
5,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0006",
"Gerät hat keine Seriennummer",
6,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0007",
"Fehler Drahtsignal",
7,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0008",
"Ungültiger Akkutyp",
8,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0009",
"Falsche Software",
9,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0100",
"Unterspannung Akku",
10,
"Prüfen",
62,
"Ladefehler",
"accuempty",
"red",
),
Message(
"0101",
"Überspannung Akku",
11,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0102",
"Unterspannung 12V",
12,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0103",
"Überspannung 12V",
13,
"Fachhändler",
60,
"Interner Fehl`er",
"retailer",
"red",
),
Message(
"0180",
"Temperatur Leiterplatte zu niedrig",
14,
"Abwarten",
43,
"Temperaturbereich unterschritten",
"temptolow",
"red",
),
Message(
"0181",
"Temperatur Leiterplatte zu hoch",
15,
"Abwarten",
44,
"Temperaturbereich überschritten",
"temptohigh",
"red",
),
Message(
"0183",
"Temperatur Loaderplatien zu hoch",
16,
"Abwarten",
44,
"Temperaturbereich überschritten",
"temptohigh",
"red",
),
Message(
"0185",
"Temperatur Motorplatine zu hoch",
17,
"Abwarten",
44,
"Temperaturbereich überschritten",
"temptohigh",
"red",
),
Message(
"0186",
"Temperatur im Akku zu niedrig",
18,
"Abwarten",
43,
"Temperaturbereich überschritten",
"temptolow",
"red",
),
Message(
"0187",
"Temperatur im Akku zu hoch",
19,
"Abwarten",
44,
"Temperaturbereich überschritten",
"temptohigh",
"red",
),
Message(
"0200",
"Kommunikation linkes Rad gestört",
20,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0201",
"Kommunikation rechtes Rad gestört",
21,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0202",
"Kommunikation Mähmotor 1 gestört",
22,
"Fachhändler",
60,
"Fehler Mähmotor",
"retailer",
"red",
),
Message(
"0203",
"Kommunikation Mähmotor 2 gestört",
23,
"Fachhändler",
60,
"Fachhändler",
"retailer",
"red",
),
Message(
"0204",
"Kommunikation Fernsteuerung gestört",
24,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0205",
"Kommunikation SR Controller gestört",
25,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0206",
"Kommunikation Akku gestört",
26,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0207",
"Kommunikation Beschleunigungssensor",
27,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0208",
"Kommunikation Magnetfeldsensor",
28,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0209",
"Kommunikation Laderelektronik",
29,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0300",
"Linkes Rad: Batteriespannung außer Bereich (Akku)",
30,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0301",
"Linkes Rad: Versorgungsspannung außer Bereich (12V)",
31,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0302",
"Linkes Rad: Temperatur zu hoch",
32,
"Abwarten",
44,
"Temperaturbereich überschritten",
"temptohigh",
"red",
),
Message(
"0303",
"Linkes Rad: Regler instabil",
33,
"---",
"---",
"Fehler Antriebsmotor",
"dockerror",
"red",
),
Message(
"0304",
"Linkes Rad: Hallsensor(en) defekt",
34,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0305",
"Linkes Rad: Überlast",
35,
"Prüfen",
76,
"Linkes Rad steckt fest",
"stuck",
"red",
),
Message(
"0306",
"Linkes Rad: falsche Hardware",
36,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0307",
"Linkes Rad: keine Safe-Freigabe",
37,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0400",
"Rechtes Rad: Batteriespannung außer Bereich (Akku)",
38,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0401",
"Rechtes Rad: Versorgungsspannung außer Bereich (12V)",
39,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0402",
"Rechtes Rad: Temperatur zu hoch",
40,
"Abwarten",
44,
"Temperaturbereich überschritten",
"temptohigh",
"red",
),
Message(
"0403",
"Rechtes Rad: Regler instabil",
41,
"---",
"---",
"Fehler Antriebsmotor",
"dockerror",
"red",
),
Message(
"0404",
"Rechtes Rad: Hallsensor(en) defekt",
42,
"Fachhändler",
60,
"Fehler Antriebsmotor",
"retailer",
"red",
),
Message(
"0405",
"Rechtes Rad: Überlast",
43,
"Prüfen",
76,
"Rechtes Rad steckt fest",
"stuck",
"red",
),
Message(
"0406",
"Rechtes Rad: falsche Hardware",
44,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0407",
"Rechtes Rad: keine Safe-Freigabe",
45,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0500",
"Messer 1: Batteriespannung außer Bereich (Akku)",
46,
"Fachhändler",
60,
"Mähmotor-Fehler",
"retailer",
"red",
),
Message(
"0501",
"Messer 1: Versorgungsspannung außer Bereich (12V)",
47,
"Fachhändler",
60,
"Mähmotor-Fehler",
"retailer",
"red",
),
Message(
"0502",
"Messer 1: Temperatur zu hoch",
48,
"Abwarten",
44,
"Temperaturbereich überschritten",
"temptohigh",
"red",
),
Message(
"0503",
"Messer 1: Regler instabil",
49,
"---",
"---",
"Mähmotor-Fehler",
"dockerror",
"red",
),
Message(
"0504",
"Messer 1: Hallsensor(en) defekt",
50,
"Fachhändler",
60,
"Mähmotor-Fehler",
"retailer",
"red",
),
Message(
"0505",
"Messer 1: Überlast",
51,
"Prüfen",
77,
"Mähmesser steckt fest",
"bladestuck",
"red",
),
Message(
"0506",
"Messer 1: falsche Hardware",
52,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0507",
"Messer 1: keine Safe-Freigabe ",
53,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"0600",
"Messer 2: Batteriespannung außer Bereich (Akku)",
54,
"Fachhändler",
60,
"Fachhändler",
"retailer",
"red",
),
Message(
"0601",
"Messer 2: Versorgungsspannung außer Bereich (12V) ",
55,
"Fachhändler",
60,
"Fachhändler",
"retailer",
"red",
),
Message(
"0602",
"Messer 2: Temperatur zu hoch",
56,
"Abwarten",
44,
"Temperatur zu hoch",
"temptohigh",
"red",
),
Message(
"0603",
"Messer 2: Regler instabil ",
57,
"---",
"---",
"---",
"dockerror",
"red",
),
Message(
"0604",
"Messer 2: Hallsensor(en) defekt",
58,
"Fachhändler",
60,
"Fachhändler",
"retailer",
"red",
),
Message(
"0605",
"Messer 2: Überlast",
59,
"Prüfen",
77,
"Messer steckt fest",
"bladestuck",
"red",
),
Message(
"0606",
"Messer 2: falsche Hardware ",
60,
"Fachhändler",
60,
"Fachhändler",
"retailer",
"red",
),
Message(
"0607",
"Messer 2: keine Safe-Freigabe",
61,
"Fachhändler",
60,
"Fachhändler",
"retailer",
"red",
),
Message(
"0700",
"Akku Überspannung ",
62,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0701",
"Akku Temperaturfehler",
63,
"Abwarten",
41,
"Temperaturbereich verlassen",
"temprange",
"red",
),
Message(
"0702",
"Akku Drahtbruch",
64,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0703",
"Akku Unterspannung",
65,
"Prüfen",
62,
"Ladefehler",
"accuempty",
"red",
),
Message(
"0704",
"Akku Unterspannung",
66,
"Prüfen",
62,
"Ladefehler",
"accuempty",
"red",
),
Message(
"0705",
"Akku Zellen debalanciert",
67,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0706",
"Akku NTC Fehler",
68,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0707",
"Akku Fehler Alarmleitung",
69,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0708",
"Akku Spannungsmessung ungenau",
70,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"0709",
"Akku interner Fehler",
71,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"1000",
"Überschlag wurde erkannt",
72,
"Prüfen",
82,
"Fehler Neigungssensor",
"rollover",
"red",
),
Message(
"1010",
"Länger als 10s angehoben",
73,
"Prüfen",
68,
"iMow wurde angehoben",
"lifted",
"red",
),
Message(
"1020",
"Stopptaster wurde betätigt",
74,
"Prüfen",
64,
"STOP-Taste betätigt",
"pressstop",
"red",
),
Message(
"1030",
"Haube wurde abgenommen",
75,
"Prüfen",
75,
"Fehler Haube",
"bonnetblocked",
"red",
),
Message(
"1100",
"Fernsteuerung im Automatikmode entnommen",
76,
"Prüfen",
63,
"Steuerkonsole entnommen",
"controlpanel",
"red",
),
Message(
"1110",
"Anheben im Automatikmode erkannt",
77,
"Prüfen",
68,
"iMow wurde angehoben",
"lifted",
"red",
),
Message(
"1120",
"Abschaltung Automatikmode durch Bumper",
78,
"Prüfen",
75,
"Haube blockiert",
"bonnetblocked",
"red",
),
Message(
"1125",
"Abschaltung Referenzfahrt durch Bumper",
79,
"---",
"---",
"Drahtverlegung prüfen",
"stuck",
"red",
),
Message(
"1130",
"Im Automatikmode festgefahren",
80,
"Prüfen",
78,
"iMow steckt fest",
"stuck",
"red",
),
Message(
"1135",
"iMow außerhalb",
81,
"Prüfen",
80,
"iMow außerhalb der Mähfläche",
"outofbounds",
"red",
),
Message(
"1140",
"Max. Steigung überschritten",
82,
"Prüfen",
69,
"Neigung überschritten",
"steepslope",
"red",
),
Message(
"1150",
"Disabling Device im Automatikmode",
83,
"Prüfen",
66,
"Gerätesperre aktiviert",
"devicelocked",
"grey",
),
Message(
"1160",
"Tragegriff im Automatikmode",
84,
"Prüfen",
67,
"Griff betätigt",
"accuchange",
"red",
),
Message(
"1170",
"Randsignal im Automatikmode",
85,
"Prüfen",
71,
"Signalfehler",
"nowiresignal",
"red",
),
Message(
"1180",
"Dockingstation nicht gefunden",
86,
"Prüfen",
73,
"Fehler Dockingstation",
"dockerror",
"red",
),
Message(
"1190",
"Dockingstation nicht frei",
87,
"Prüfen",
73,
"Dockingstation belegt",
"dockerror",
"red",
),
Message(
"1200",
"Start Mähmotor fehlgeschlagen",
88,
"Prüfen",
77,
"Mähmesser steckt fest",
"bladestuck",
"red",
),
Message(
"1210",
"Räder blockiert/überlastet",
89,
"Prüfen",
76,
"Rad steckt fest",
"stuck",
"red",
),
Message(
"1220",
"Unterbrechung Automatikbetrieb wegen Regen",
90,
"Abwarten",
30,
"Mähvorgang abgebrochen",
"rain",
"red",
),
Message(
"2000",
"Randsignal nicht eingelernt ",
91,
"---",
"---",
"Einlerndaten ungültig",
"dockerror",
"red",
),
Message(
"2010",
"Messer 1 muss gewechselt werden",
92,
"Service",
23,
"Lebensdauer Mähmesser erreicht",
"bladereplace",
"red",
),
Message(
"2011",
"Messer 2 muss gewechselt werden",
93,
"Service",
23,
"Messer tauschen",
"bladereplace",
"red",
),
Message(
"2020",
"Wartungshinweis",
94,
"Service",
22,
"Jahresservice",
"maintenance",
"red",
),
Message(
"2030",
"Akku schwach",
95,
"Service",
24,
"Lebensdauer Akku erreicht",
"accuchange",
"red",
),
Message(
"2031",
"Akku laden mehrfach gescheitert",
96,
"Fachhändler",
60,
"Akkufehler",
"retailer",
"red",
),
Message(
"2032",
"Akku Ladetemperatur",
97,
"Abwarten",
41,
"Temperaturbereich verlassen",
"temprange",
"red",
),
Message(
"2040",
"Akku Temperatur für Start Mähbetrieb",
98,
"Abwarten",
41,
"Temperaturbereich verlassen",
"temprange",
"red",
),
Message(
"2050",
"Verfügbare Mähzeiten ungenügend",
99,
"---",
"---",
"Aktivzeiten geändert",
"dockerror",
"red",
),
Message(
"2060",
"Nebenfläche fertig",
100,
"Prüfen",
70,
"Mähen Nebenfläche beendet",
"adjacentera",
"red",
),
Message(
"2070",
"Kein GPS Empfang Referenzfahrt",
101,
"---",
"---",
"Kein GPS-Empfang",
"dockerror",
"red",
),
Message(
"2071",
"Kein GPS Empfang Startpunkt 1",
102,
"---",
"---",
"Kein GPS-Empfang Startpunkt 1",
"dockerror",
"red",
),
Message(
"2072",
"Kein GPS Empfang Startpunkt 2",
103,
"---",
"---",
"Kein GPS-Empfang Startpunkt 2",
"dockerror",
"red",
),
Message(
"2073",
"Kein GPS Empfang Startpunkt 3",
104,
"---",
"---",
"Kein GPS-Empfang Startpunkt 3",
"dockerror",
"red",
),
Message(
"2074",
"Kein GPS Empfang Startpunkt 4",
105,
"---",
"---",
"Kein GPS-Empfang Startpunkt 4",
"dockerror",
"red",
),
Message(
"2080",
"Kein GPRS Empfang",
106,
"---",
"---",
"Kein GPRS-Empfang",
"dockerror",
"red",
),
Message(
"2090",
"Hardware/Kommunikation- Fehler in Erweiterungsmodul",
107,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"2100",
"Diebstahl",
108,
"Prüfen",
99,
"Heimbereich verlassen",
"stolen",
"red",
),
Message(
"2110",
"iMow woanders installiert, aber es wurde keine Neuinstallation durchgeführt",
109,
"Prüfen",
99,
"Inbetriebnahme außerhalb des Heimbereichs",
"stolen",
"red",
),
Message(
"4000",
"SR: Über- oder Unterspannung",
110,
"Fachhändler",
50,
"Akkufehler",
"accuerror",
"red",
),
Message(
"4001",
"SR: Über- oder Untertemperatur",
111,
"Abwarten",
41,
"Temperaturbereich verlassen",
"temprange",
"red",
),
Message(
"4002",
"SR: Überschlag erkannt",
112,
"Prüfen",
82,
"Überschlag festgestellt",
"rollover",
"red",
),
Message(
"4003",
"SR: Anheben 10 Sek.",
113,
"Prüfen",
68,
"iMow wurde angehoben",
"lifted",
"red",
),
Message(
"4004",
"SR: Radmotoren Abschaltung aufgrund Zeitüberschreitung",
114,
"Prüfen",
78,
"Interner Fehler",
"stuck",
"red",
),
Message(
"4005",
"SR: Mähmotor Abschaltung aufgrund Zeitüberschreitung",
115,
"Prüfen",
61,
"Interner Fehler",
"bladeerror",
"red",
),
Message(
"4006",
"SR: Lader Abschaltung aufgrund Zeitüberschreitung",
116,
"Prüfen",
73,
"Interner Fehler",
"dockerror",
"red",
),
Message(
"4008",
"SR: Fehler Remoteeinlege Sensor",
117,
"Prüfen",
63,
"Interner Fehler",
"controlpanel",
"red",
),
Message(
"4009",
"SR: Fehler Bumper",
118,
"Prüfen",
75,
"Interner Fehler",
"bonnetblocked",
"red",
),
Message(
"4010",
"SR: Wiederholte Mähmotor Abschaltung aufgrund Zeitüberschreitung",
119,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4011",
"SR: Fehler Überschlagsensor",
120,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4012",
"SR: Fehler Remote Tasten",
121,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4013",
"SR: Fehler bei der Überprüfung vom Drahtsignal",
122,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4014",
"SR: Fehler externe Temperatursensoren",
123,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4015",
"SR: Fehler Anhebegriffschalter",
124,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4016",
"SR: Fehler Stoptaster",
125,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4017",
"SR: DC-Bus-Fehler",
126,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4018",
"SR: Spannungsfehler",
127,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4019",
"SR: Fehler auf der Main Platine",
128,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4020",
"SR: Fehler interne Temperatursensoren",
129,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4021",
"SR: Fehler Safe Signal",
130,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4022",
"SR: Fehler Lader",
131,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4023",
"SR: Fehler Alarmleitungen",
132,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4024",
"SR: Fehler Drehzahlmessung",
133,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4025",
"SR: SR-Controller hat internen Fehler erkannt",
134,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"4026",
"SR: Spannungsmessung ist nicht kalibriert",
135,
"Fachhändler",
60,
"Interner Fehler",
"retailer",
"red",
),
Message(
"2075",
"Kein GPS Empfang in Wunschzone",
136,
"Abwarten",
32,
"GPS-Fehler Wunschzone",
"nogps",
"red",
),
Message(
"2076",
"Wunschzone nicht erreicht",
137,
"Prüfen",
32,
"Wunschzone nicht erreicht",
"other",
"red",
),
Message(
"2077",
"Wunschzone außerhalb des Heimbereichs",
138,
"---",
"---",
"Wunschzone außerhalb",
"dockerror",
"red",
),
Message(
"2200",
"Vertrag für SIM-Karte abgelaufen",
139,
"---",
"---",
"---",
"dockerror",
"red",
),
Message(
"0104",
"Überspannung Ladekontakte",
140,
"Fachhändler",
60,
"Ladefehler",
"retailer",
"red",
),
Message(
"2120",
"Kinderschutz aktiv",
141,
"---",
"---",
"Spielstopp aktiv",
"dockerror",
"red",
),
Message(
"1131",
"Festfahrerkennung",
142,
"Prüfen",
78,
"iMow steckt fest",
"stuck",
"red",
),
Message(
"1230",
"Rechtes oder linkes Rad: Überlast",
143,
"Prüfen",
73,
"Fehler Dockingstation",
"dockerror",
"red",
),
Message(
"4027",
"Stopptaster wurde betätigt",
144,
"Prüfen",
64,
"STOP-Taste betätigt",
"pressstop",
"red",
),
Message(
"2095",
"GPS Antenne nicht angeschlossen",
145,
"Fachhändler",
60,
"GPS-Fehler",
"retailer",
"red",
),
Message(
"1105",
"animation.message_M1105_long",
146,
"",
"",
"animations.message_M1105_short",
"flapopen",
"red",
),
]
def get_error_message(self, short_code) -> Tuple[str, str, str, str]:
for message in self.error_messages:
if message.shortCode == short_code:
return (
self.i18n[f"message_M{message.id}_short"],
self.i18n[f"message_M{message.id}_long"],
f"M{message.id}",
f"{message.message}",
)
raise MessageNotFoundError(f"No error message found for {short_code}")
def get_status_message(self, short_code) -> Tuple[str, str]:
for message in self.success_messages:
if message.shortCode == short_code:
return (
self.i18n[f"viking_mainstate_{message.picture}_short"],
self.i18n[f"viking_mainstate_{message.picture}_short"],
)
raise MessageNotFoundError(f"No message found for {short_code}")
Classes
class Message (message_id, message, short_code, action, priority, picture_message, picture, status)
-
Expand source code
class Message: def __init__( self, message_id, message, short_code, action, priority, picture_message, picture, status, ): self.id = message_id self.message = message self.shortCode = short_code self.action = action self.priority = priority self.pictureMessage = picture_message self.picture = picture self.status = status
class Messages (i18n: dict)
-
Class to match a shortCode (mower.status['extraStatus']) to an error 'id' and give back the translated messages. i18n: An upstream language dict, fetched from imow api
Expand source code
class Messages: def __init__(self, i18n: dict): """Class to match a shortCode (mower.status['extraStatus']) to an error 'id' and give back the translated messages. i18n: An upstream language dict, fetched from imow api """ self.i18n = i18n self.success_messages = [ Message( "1337", "Ruhezustand", 0, "--", 2, "Ruhezustand", "idle", "green", ), Message("1338", "Fehler", 1, "--", 2, "Fehler", "error", "red"), Message( "1339", "Ruhezustand", 2, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1340", "Ruhezustand", 3, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1341", "Ruhezustand", 4, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1342", "Am Mähen", 5, "Fachhändler", 2, "Am Mähen", "mow", "green", ), Message( "1343", "Im Dock", 6, "--", 2, "Im Dock", "dock", "green", ), Message( "1344", "Laden", 7, "--", 2, "Laden", "charge", "green", ), Message( "1345", "Ruhezustand", 8, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1346", "Ruhezustand", 9, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1347", "Ruhezustand", 10, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1348", "Unterwegs", 11, "--", 2, "Unterwegs", "home", "green", ), Message( "1349", "Ruhezustand", 12, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1350", "Ruhezustand", 13, "--", 2, "Ruhezustand", "idle", "green", ), Message( "1351", "Ruhezustand", 14, "--", 2, "Ruhezustand", "idle", "green", ), ] self.error_messages = [ Message( "0000", "Kein Fehler", 0, "---", "---", "Interner Fehler", "dockerror", "red", ), Message( "0001", "EEPROM Datenverlust", 1, "---", "---", "Interner Fehler", "dockerror", "red", ), Message( "0002", "Fehler RTC", 2, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0003", "Fehler EEPROM", 3, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0004", "Fehler SPI Flash", 4, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0005", "Falsche Hardware", 5, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0006", "Gerät hat keine Seriennummer", 6, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0007", "Fehler Drahtsignal", 7, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0008", "Ungültiger Akkutyp", 8, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0009", "Falsche Software", 9, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0100", "Unterspannung Akku", 10, "Prüfen", 62, "Ladefehler", "accuempty", "red", ), Message( "0101", "Überspannung Akku", 11, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0102", "Unterspannung 12V", 12, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0103", "Überspannung 12V", 13, "Fachhändler", 60, "Interner Fehl`er", "retailer", "red", ), Message( "0180", "Temperatur Leiterplatte zu niedrig", 14, "Abwarten", 43, "Temperaturbereich unterschritten", "temptolow", "red", ), Message( "0181", "Temperatur Leiterplatte zu hoch", 15, "Abwarten", 44, "Temperaturbereich überschritten", "temptohigh", "red", ), Message( "0183", "Temperatur Loaderplatien zu hoch", 16, "Abwarten", 44, "Temperaturbereich überschritten", "temptohigh", "red", ), Message( "0185", "Temperatur Motorplatine zu hoch", 17, "Abwarten", 44, "Temperaturbereich überschritten", "temptohigh", "red", ), Message( "0186", "Temperatur im Akku zu niedrig", 18, "Abwarten", 43, "Temperaturbereich überschritten", "temptolow", "red", ), Message( "0187", "Temperatur im Akku zu hoch", 19, "Abwarten", 44, "Temperaturbereich überschritten", "temptohigh", "red", ), Message( "0200", "Kommunikation linkes Rad gestört", 20, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0201", "Kommunikation rechtes Rad gestört", 21, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0202", "Kommunikation Mähmotor 1 gestört", 22, "Fachhändler", 60, "Fehler Mähmotor", "retailer", "red", ), Message( "0203", "Kommunikation Mähmotor 2 gestört", 23, "Fachhändler", 60, "Fachhändler", "retailer", "red", ), Message( "0204", "Kommunikation Fernsteuerung gestört", 24, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0205", "Kommunikation SR Controller gestört", 25, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0206", "Kommunikation Akku gestört", 26, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0207", "Kommunikation Beschleunigungssensor", 27, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0208", "Kommunikation Magnetfeldsensor", 28, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0209", "Kommunikation Laderelektronik", 29, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0300", "Linkes Rad: Batteriespannung außer Bereich (Akku)", 30, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0301", "Linkes Rad: Versorgungsspannung außer Bereich (12V)", 31, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0302", "Linkes Rad: Temperatur zu hoch", 32, "Abwarten", 44, "Temperaturbereich überschritten", "temptohigh", "red", ), Message( "0303", "Linkes Rad: Regler instabil", 33, "---", "---", "Fehler Antriebsmotor", "dockerror", "red", ), Message( "0304", "Linkes Rad: Hallsensor(en) defekt", 34, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0305", "Linkes Rad: Überlast", 35, "Prüfen", 76, "Linkes Rad steckt fest", "stuck", "red", ), Message( "0306", "Linkes Rad: falsche Hardware", 36, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0307", "Linkes Rad: keine Safe-Freigabe", 37, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0400", "Rechtes Rad: Batteriespannung außer Bereich (Akku)", 38, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0401", "Rechtes Rad: Versorgungsspannung außer Bereich (12V)", 39, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0402", "Rechtes Rad: Temperatur zu hoch", 40, "Abwarten", 44, "Temperaturbereich überschritten", "temptohigh", "red", ), Message( "0403", "Rechtes Rad: Regler instabil", 41, "---", "---", "Fehler Antriebsmotor", "dockerror", "red", ), Message( "0404", "Rechtes Rad: Hallsensor(en) defekt", 42, "Fachhändler", 60, "Fehler Antriebsmotor", "retailer", "red", ), Message( "0405", "Rechtes Rad: Überlast", 43, "Prüfen", 76, "Rechtes Rad steckt fest", "stuck", "red", ), Message( "0406", "Rechtes Rad: falsche Hardware", 44, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0407", "Rechtes Rad: keine Safe-Freigabe", 45, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0500", "Messer 1: Batteriespannung außer Bereich (Akku)", 46, "Fachhändler", 60, "Mähmotor-Fehler", "retailer", "red", ), Message( "0501", "Messer 1: Versorgungsspannung außer Bereich (12V)", 47, "Fachhändler", 60, "Mähmotor-Fehler", "retailer", "red", ), Message( "0502", "Messer 1: Temperatur zu hoch", 48, "Abwarten", 44, "Temperaturbereich überschritten", "temptohigh", "red", ), Message( "0503", "Messer 1: Regler instabil", 49, "---", "---", "Mähmotor-Fehler", "dockerror", "red", ), Message( "0504", "Messer 1: Hallsensor(en) defekt", 50, "Fachhändler", 60, "Mähmotor-Fehler", "retailer", "red", ), Message( "0505", "Messer 1: Überlast", 51, "Prüfen", 77, "Mähmesser steckt fest", "bladestuck", "red", ), Message( "0506", "Messer 1: falsche Hardware", 52, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0507", "Messer 1: keine Safe-Freigabe ", 53, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "0600", "Messer 2: Batteriespannung außer Bereich (Akku)", 54, "Fachhändler", 60, "Fachhändler", "retailer", "red", ), Message( "0601", "Messer 2: Versorgungsspannung außer Bereich (12V) ", 55, "Fachhändler", 60, "Fachhändler", "retailer", "red", ), Message( "0602", "Messer 2: Temperatur zu hoch", 56, "Abwarten", 44, "Temperatur zu hoch", "temptohigh", "red", ), Message( "0603", "Messer 2: Regler instabil ", 57, "---", "---", "---", "dockerror", "red", ), Message( "0604", "Messer 2: Hallsensor(en) defekt", 58, "Fachhändler", 60, "Fachhändler", "retailer", "red", ), Message( "0605", "Messer 2: Überlast", 59, "Prüfen", 77, "Messer steckt fest", "bladestuck", "red", ), Message( "0606", "Messer 2: falsche Hardware ", 60, "Fachhändler", 60, "Fachhändler", "retailer", "red", ), Message( "0607", "Messer 2: keine Safe-Freigabe", 61, "Fachhändler", 60, "Fachhändler", "retailer", "red", ), Message( "0700", "Akku Überspannung ", 62, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0701", "Akku Temperaturfehler", 63, "Abwarten", 41, "Temperaturbereich verlassen", "temprange", "red", ), Message( "0702", "Akku Drahtbruch", 64, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0703", "Akku Unterspannung", 65, "Prüfen", 62, "Ladefehler", "accuempty", "red", ), Message( "0704", "Akku Unterspannung", 66, "Prüfen", 62, "Ladefehler", "accuempty", "red", ), Message( "0705", "Akku Zellen debalanciert", 67, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0706", "Akku NTC Fehler", 68, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0707", "Akku Fehler Alarmleitung", 69, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0708", "Akku Spannungsmessung ungenau", 70, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "0709", "Akku interner Fehler", 71, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "1000", "Überschlag wurde erkannt", 72, "Prüfen", 82, "Fehler Neigungssensor", "rollover", "red", ), Message( "1010", "Länger als 10s angehoben", 73, "Prüfen", 68, "iMow wurde angehoben", "lifted", "red", ), Message( "1020", "Stopptaster wurde betätigt", 74, "Prüfen", 64, "STOP-Taste betätigt", "pressstop", "red", ), Message( "1030", "Haube wurde abgenommen", 75, "Prüfen", 75, "Fehler Haube", "bonnetblocked", "red", ), Message( "1100", "Fernsteuerung im Automatikmode entnommen", 76, "Prüfen", 63, "Steuerkonsole entnommen", "controlpanel", "red", ), Message( "1110", "Anheben im Automatikmode erkannt", 77, "Prüfen", 68, "iMow wurde angehoben", "lifted", "red", ), Message( "1120", "Abschaltung Automatikmode durch Bumper", 78, "Prüfen", 75, "Haube blockiert", "bonnetblocked", "red", ), Message( "1125", "Abschaltung Referenzfahrt durch Bumper", 79, "---", "---", "Drahtverlegung prüfen", "stuck", "red", ), Message( "1130", "Im Automatikmode festgefahren", 80, "Prüfen", 78, "iMow steckt fest", "stuck", "red", ), Message( "1135", "iMow außerhalb", 81, "Prüfen", 80, "iMow außerhalb der Mähfläche", "outofbounds", "red", ), Message( "1140", "Max. Steigung überschritten", 82, "Prüfen", 69, "Neigung überschritten", "steepslope", "red", ), Message( "1150", "Disabling Device im Automatikmode", 83, "Prüfen", 66, "Gerätesperre aktiviert", "devicelocked", "grey", ), Message( "1160", "Tragegriff im Automatikmode", 84, "Prüfen", 67, "Griff betätigt", "accuchange", "red", ), Message( "1170", "Randsignal im Automatikmode", 85, "Prüfen", 71, "Signalfehler", "nowiresignal", "red", ), Message( "1180", "Dockingstation nicht gefunden", 86, "Prüfen", 73, "Fehler Dockingstation", "dockerror", "red", ), Message( "1190", "Dockingstation nicht frei", 87, "Prüfen", 73, "Dockingstation belegt", "dockerror", "red", ), Message( "1200", "Start Mähmotor fehlgeschlagen", 88, "Prüfen", 77, "Mähmesser steckt fest", "bladestuck", "red", ), Message( "1210", "Räder blockiert/überlastet", 89, "Prüfen", 76, "Rad steckt fest", "stuck", "red", ), Message( "1220", "Unterbrechung Automatikbetrieb wegen Regen", 90, "Abwarten", 30, "Mähvorgang abgebrochen", "rain", "red", ), Message( "2000", "Randsignal nicht eingelernt ", 91, "---", "---", "Einlerndaten ungültig", "dockerror", "red", ), Message( "2010", "Messer 1 muss gewechselt werden", 92, "Service", 23, "Lebensdauer Mähmesser erreicht", "bladereplace", "red", ), Message( "2011", "Messer 2 muss gewechselt werden", 93, "Service", 23, "Messer tauschen", "bladereplace", "red", ), Message( "2020", "Wartungshinweis", 94, "Service", 22, "Jahresservice", "maintenance", "red", ), Message( "2030", "Akku schwach", 95, "Service", 24, "Lebensdauer Akku erreicht", "accuchange", "red", ), Message( "2031", "Akku laden mehrfach gescheitert", 96, "Fachhändler", 60, "Akkufehler", "retailer", "red", ), Message( "2032", "Akku Ladetemperatur", 97, "Abwarten", 41, "Temperaturbereich verlassen", "temprange", "red", ), Message( "2040", "Akku Temperatur für Start Mähbetrieb", 98, "Abwarten", 41, "Temperaturbereich verlassen", "temprange", "red", ), Message( "2050", "Verfügbare Mähzeiten ungenügend", 99, "---", "---", "Aktivzeiten geändert", "dockerror", "red", ), Message( "2060", "Nebenfläche fertig", 100, "Prüfen", 70, "Mähen Nebenfläche beendet", "adjacentera", "red", ), Message( "2070", "Kein GPS Empfang Referenzfahrt", 101, "---", "---", "Kein GPS-Empfang", "dockerror", "red", ), Message( "2071", "Kein GPS Empfang Startpunkt 1", 102, "---", "---", "Kein GPS-Empfang Startpunkt 1", "dockerror", "red", ), Message( "2072", "Kein GPS Empfang Startpunkt 2", 103, "---", "---", "Kein GPS-Empfang Startpunkt 2", "dockerror", "red", ), Message( "2073", "Kein GPS Empfang Startpunkt 3", 104, "---", "---", "Kein GPS-Empfang Startpunkt 3", "dockerror", "red", ), Message( "2074", "Kein GPS Empfang Startpunkt 4", 105, "---", "---", "Kein GPS-Empfang Startpunkt 4", "dockerror", "red", ), Message( "2080", "Kein GPRS Empfang", 106, "---", "---", "Kein GPRS-Empfang", "dockerror", "red", ), Message( "2090", "Hardware/Kommunikation- Fehler in Erweiterungsmodul", 107, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "2100", "Diebstahl", 108, "Prüfen", 99, "Heimbereich verlassen", "stolen", "red", ), Message( "2110", "iMow woanders installiert, aber es wurde keine Neuinstallation durchgeführt", 109, "Prüfen", 99, "Inbetriebnahme außerhalb des Heimbereichs", "stolen", "red", ), Message( "4000", "SR: Über- oder Unterspannung", 110, "Fachhändler", 50, "Akkufehler", "accuerror", "red", ), Message( "4001", "SR: Über- oder Untertemperatur", 111, "Abwarten", 41, "Temperaturbereich verlassen", "temprange", "red", ), Message( "4002", "SR: Überschlag erkannt", 112, "Prüfen", 82, "Überschlag festgestellt", "rollover", "red", ), Message( "4003", "SR: Anheben 10 Sek.", 113, "Prüfen", 68, "iMow wurde angehoben", "lifted", "red", ), Message( "4004", "SR: Radmotoren Abschaltung aufgrund Zeitüberschreitung", 114, "Prüfen", 78, "Interner Fehler", "stuck", "red", ), Message( "4005", "SR: Mähmotor Abschaltung aufgrund Zeitüberschreitung", 115, "Prüfen", 61, "Interner Fehler", "bladeerror", "red", ), Message( "4006", "SR: Lader Abschaltung aufgrund Zeitüberschreitung", 116, "Prüfen", 73, "Interner Fehler", "dockerror", "red", ), Message( "4008", "SR: Fehler Remoteeinlege Sensor", 117, "Prüfen", 63, "Interner Fehler", "controlpanel", "red", ), Message( "4009", "SR: Fehler Bumper", 118, "Prüfen", 75, "Interner Fehler", "bonnetblocked", "red", ), Message( "4010", "SR: Wiederholte Mähmotor Abschaltung aufgrund Zeitüberschreitung", 119, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4011", "SR: Fehler Überschlagsensor", 120, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4012", "SR: Fehler Remote Tasten", 121, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4013", "SR: Fehler bei der Überprüfung vom Drahtsignal", 122, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4014", "SR: Fehler externe Temperatursensoren", 123, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4015", "SR: Fehler Anhebegriffschalter", 124, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4016", "SR: Fehler Stoptaster", 125, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4017", "SR: DC-Bus-Fehler", 126, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4018", "SR: Spannungsfehler", 127, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4019", "SR: Fehler auf der Main Platine", 128, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4020", "SR: Fehler interne Temperatursensoren", 129, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4021", "SR: Fehler Safe Signal", 130, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4022", "SR: Fehler Lader", 131, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4023", "SR: Fehler Alarmleitungen", 132, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4024", "SR: Fehler Drehzahlmessung", 133, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4025", "SR: SR-Controller hat internen Fehler erkannt", 134, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "4026", "SR: Spannungsmessung ist nicht kalibriert", 135, "Fachhändler", 60, "Interner Fehler", "retailer", "red", ), Message( "2075", "Kein GPS Empfang in Wunschzone", 136, "Abwarten", 32, "GPS-Fehler Wunschzone", "nogps", "red", ), Message( "2076", "Wunschzone nicht erreicht", 137, "Prüfen", 32, "Wunschzone nicht erreicht", "other", "red", ), Message( "2077", "Wunschzone außerhalb des Heimbereichs", 138, "---", "---", "Wunschzone außerhalb", "dockerror", "red", ), Message( "2200", "Vertrag für SIM-Karte abgelaufen", 139, "---", "---", "---", "dockerror", "red", ), Message( "0104", "Überspannung Ladekontakte", 140, "Fachhändler", 60, "Ladefehler", "retailer", "red", ), Message( "2120", "Kinderschutz aktiv", 141, "---", "---", "Spielstopp aktiv", "dockerror", "red", ), Message( "1131", "Festfahrerkennung", 142, "Prüfen", 78, "iMow steckt fest", "stuck", "red", ), Message( "1230", "Rechtes oder linkes Rad: Überlast", 143, "Prüfen", 73, "Fehler Dockingstation", "dockerror", "red", ), Message( "4027", "Stopptaster wurde betätigt", 144, "Prüfen", 64, "STOP-Taste betätigt", "pressstop", "red", ), Message( "2095", "GPS Antenne nicht angeschlossen", 145, "Fachhändler", 60, "GPS-Fehler", "retailer", "red", ), Message( "1105", "animation.message_M1105_long", 146, "", "", "animations.message_M1105_short", "flapopen", "red", ), ] def get_error_message(self, short_code) -> Tuple[str, str, str, str]: for message in self.error_messages: if message.shortCode == short_code: return ( self.i18n[f"message_M{message.id}_short"], self.i18n[f"message_M{message.id}_long"], f"M{message.id}", f"{message.message}", ) raise MessageNotFoundError(f"No error message found for {short_code}") def get_status_message(self, short_code) -> Tuple[str, str]: for message in self.success_messages: if message.shortCode == short_code: return ( self.i18n[f"viking_mainstate_{message.picture}_short"], self.i18n[f"viking_mainstate_{message.picture}_short"], ) raise MessageNotFoundError(f"No message found for {short_code}")
Methods
def get_error_message(self, short_code) ‑> Tuple[str, str, str, str]
-
Expand source code
def get_error_message(self, short_code) -> Tuple[str, str, str, str]: for message in self.error_messages: if message.shortCode == short_code: return ( self.i18n[f"message_M{message.id}_short"], self.i18n[f"message_M{message.id}_long"], f"M{message.id}", f"{message.message}", ) raise MessageNotFoundError(f"No error message found for {short_code}")
def get_status_message(self, short_code) ‑> Tuple[str, str]
-
Expand source code
def get_status_message(self, short_code) -> Tuple[str, str]: for message in self.success_messages: if message.shortCode == short_code: return ( self.i18n[f"viking_mainstate_{message.picture}_short"], self.i18n[f"viking_mainstate_{message.picture}_short"], ) raise MessageNotFoundError(f"No message found for {short_code}")