Zitat von: Tueftler1983 am 12 Mai 2024, 11:56:43Zitat von: Christian83 am 12 Mai 2024, 11:48:27Hi,Verstehe ich nicht es steht doch so in der info die ich vom Entwickler habe layzspar
versuch es doch erstmal mit lazyspa und nicht layzspar.
Du darfst diesen Dateianhang nicht ansehen.
ZitatWindows VM habe ich in Docker laufenAlso eine VM ist KEIN Docker .... das ist sehr Unterschiedlich!
Zitat von: Aurel_B am 12 Mai 2024, 12:30:09Zitat von: TechnoTron am 11 Mai 2024, 14:34:45ich stehe vor einer Herausforderung und hoffe, dass mir jemand aus der Community helfen kann.
Ich möchte bestimmte Daten von einer Webseite abfragen, deren Inhalt dynamisch über ein JavaScript-Skript generiert wird. Leider kann das HTTPMOD Modul, soweit ich weiß, diese dynamisch generierten Inhalte nicht direkt abrufen.
Hat jemand Erfahrungen oder Ideen, wie ich solche dynamischen Inhalte effektiv abgreifen kann? Bei meiner recherche bin ich auf Headless Browsers wie Selenium gestoßen um den JavaScript-Code auszuführen und den daraus resultierenden Text zu extrahieren. Aber das ist relativ viel Aufwand.
Als Nebenkommentar: die Werte werden scheinbar gar nicht per Javascript geladen? Siehe:fetch -o - 'https://www.wienenergie.at/indexwerte/' | grep Mai
[...] data-align=\"center\">Mai 2024<\/td><td class=\"has-text-align-center\" data-align=\"center\">57,57<\/td> [...]
Zitat von: betateilchen am 12 Mai 2024, 12:39:53Zitat von: Aurel_B am 12 Mai 2024, 12:30:09Als Nebenkommentar: die Werte werden scheinbar gar nicht per Javascript geladen?
Natürlich nicht, sonst würde auch der Codeschnipsel von TomLee nicht funktionieren.
Man kann das auch einfach per HTTPMOD auslesen.
Aber zumindest wollte ich oben eine einfache Variante zum Theme "headless browser" zeigen und die Behauptung widerlegen, dass das kompliziert oder viel Aufwand sei.
defmod fehlerDE DOIF (["^global$:^INITIALIZED$"]) ({\
my $errorjson = '{"0":"Unerwarteter Fehler","1":"Außerhalb des Arbeitsbereichs","2":"Kein Schleifensignal","3":"Falsches Schleifensignal","4":"Schleifensensorproblem, vorne","5":"Schleifensensorproblem, hinten","6":"Schleifensensorproblem, links","7":"Schleifensensorproblem, rechts","8":"Falscher PIN-Code","9":"Eingeklemmt","10":"Auf dem Kopf","11":"Niedriger Batteriestand","12":"Leere Batterie","13":"Kein Antrieb","14":"Mäher angehoben","15":"Angehoben","16":"In Ladestation stecken geblieben","17":"Ladestation blockiert","18":"Kollisions-Sensorproblem, hinten","19":"Kollisions-Sensorproblem, vorne","20":"Radmotor blockiert, rechts","21":"Radmotor blockiert, links","22":"Radantriebsproblem, rechts","23":"Radantriebsproblem, links","24":"Schneidsystem blockiert","25":"Schneidsystem blockiert","26":"Ungültige Kombination von Geräten","27":"Einstellungen wiederhergestellt","28":"Speicherschaltkreisproblem","29":"Zu steile Neigung","30":"Problem mit dem Ladesystem","31":"Problem mit der STOP-Taste","32":"Neigungssensorproblem","33":"Mäher gekippt","34":"Schneiden gestoppt - zu steile Neigung","35":"Radmotor überlastet, rechts","36":"Radmotor überlastet, links","37":"Zu hoher Ladestrom","38":"Elektronikproblem","39":"Problem mit dem Schneidemotor","40":"Begrenzter Bereich der Schnitthöhe","41":"Unerwartete Schnitthöhenanpassung","42":"Begrenzter Bereich der Schnitthöhe","43":"Problem mit der Schnitthöhe, Antrieb","44":"Problem mit der Schnitthöhe, aktuell","45":"Problem mit der Schnitthöhe, Richtung","46":"Schnitthöhe blockiert","47":"Problem mit der Schnitthöhe","48":"Keine Antwort vom Ladegerät","49":"Ultraschallproblem","50":"Führung 1 nicht gefunden","51":"Führung 2 nicht gefunden","52":"Führung 3 nicht gefunden","53":"GPS-Navigationsproblem","54":"Schwaches GPS-Signal","55":"Schwierigkeiten beim Finden des Heimwegs","56":"Führungskalibrierung abgeschlossen","57":"Führungskalibrierung fehlgeschlagen","58":"Vorübergehendes Batterieproblem","59":"Vorübergehendes Batterieproblem","60":"Vorübergehendes Batterieproblem","61":"Vorübergehendes Batterieproblem","62":"Vorübergehendes Batterieproblem","63":"Vorübergehendes Batterieproblem","64":"Vorübergehendes Batterieproblem","65":"Vorübergehendes Batterieproblem","66":"Batterieproblem","67":"Batterieproblem","68":"Vorübergehendes Batterieproblem","69":"Alarm! Mäher ausgeschaltet","70":"Alarm! Mäher gestoppt","71":"Alarm! Mäher angehoben","72":"Alarm! Mäher gekippt","73":"Alarm! Mäher in Bewegung","74":"Alarm! Außerhalb der Geofence","75":"Verbindung geändert","76":"Verbindung NICHT geändert","77":"Com-Board nicht verfügbar","78":"Gerutscht - Mäher ist gerutscht. Situation nicht mit Bewegungsmuster gelöst","79":"Ungültige Batteriekombination - Ungültige Kombination verschiedener Batterietypen","80":"Ungleichgewicht im Schneidsystem - Warnung","81":"Sicherheitsfunktion fehlerhaft","82":"Radmotor blockiert, hinten rechts","83":"Radmotor blockiert, hinten links","84":"Radantriebsproblem, hinten rechts","85":"Radantriebsproblem, hinten links","86":"Radmotor überlastet, hinten rechts","87":"Radmotor überlastet, hinten links","88":"Winkelsensorproblem","89":"Ungültige Systemkonfiguration","90":"Keine Stromversorgung in der Ladestation","91":"Schalterkabelproblem","92":"Arbeitsbereich ungültig","93":"Keine genaue Position von Satelliten","94":"Kommunikationsproblem mit der Referenzstation","95":"Falt-Sensor aktiviert","96":"Rechter Bürstenmotor überlastet","97":"Linker Bürstenmotor überlastet","98":"Ultraschallsensor 1 defekt","99":"Ultraschallsensor 2 defekt","100":"Ultraschallsensor 3 defekt","101":"Ultraschallsensor 4 defekt","102":"Schneidantriebsmotor 1 defekt","103":"Schneidantriebsmotor 2 defekt","104":"Schneidantriebsmotor 3 defekt","105":"Hubsensor defekt","106":"Kollisionssensor defekt","107":"Docking-Sensor defekt","108":"Sensor des klappbaren Mähdecks defekt","109":"Schleifensensor defekt","110":"Kollisionssensorfehler","111":"Keine bestätigte Position","112":"Großes Ungleichgewicht im Schneidsystem","113":"Komplexer Arbeitsbereich","114":"Zu hoher Entladestrom","115":"Zu hoher interner Strom","116":"Hoher Leistungsverlust beim Laden","117":"Hoher interner Leistungsverlust","118":"Problem mit dem Ladesystem","119":"Zonengeneratorproblem","120":"Interner Spannungsfehler","121":"Hohe interne Temperatur","122":"CAN-Fehler","123":"Ziel nicht erreichbar","124":"Ziel blockiert","125":"Batterie muss ersetzt werden","126":"Batterie kurz vor dem Ende ihrer Lebensdauer","127":"Batterieproblem","128":"Mehrere Referenzstationen erkannt","129":"Hilfsschneideinrichtung blockiert","130":"Ungleichgewicht im Hilfsschneidscheibe erkannt","131":"Im Verbindungsarm angehoben","132":"EPOS-Zubehör fehlt","133":"Bluetooth-Kommunikation mit CS fehlgeschlagen","134":"Ungültige SW-Konfiguration","135":"Radarproblem","136":"Arbeitsbereich manipuliert","137":"Hohe Temperatur im rechten Schneidemotor","138":"Hohe Temperatur im mittleren Schneidemotor","139":"Hohe Temperatur im linken Schneidemotor","141":"Problem mit dem Radbürstenmotor","143":"Problem mit der Stromversorgung des Zubehörs","144":"Problem mit dem Begrenzungsdraht","701":"Konnektivitätsproblem","702":"Konnektivitätseinstellungen wiederhergestellt","703":"Konnektivitätsproblem","704":"Konnektivitätsproblem","705":"Konnektivitätsproblem","706":"Schlechte Signalqualität","707":"SIM-Karte erfordert PIN","708":"SIM-Karte gesperrt","709":"SIM-Karte nicht gefunden","710":"SIM-Karte gesperrt","711":"SIM-Karte gesperrt","712":"SIM-Karte gesperrt","713":"Geofence-Problem","714":"Geofence-Problem","715":"Konnektivitätsproblem","716":"Konnektivitätsproblem","717":"SMS konnte nicht gesendet werden","724":"Die SW der Kommunikationsplatine muss aktualisiert werden"}';;\
$::FHEM::Devices::AMConnect::Common::errortable = eval { JSON::XS->new->decode ( $errorjson ) };;\
return undef;;\
})
attr fehlerDE do always
attr fehlerDE wait 120
Mit set fehlerDE cmd_1
kann man das DOIF manuell auslösen und mit get <name> errorCodes
kann das Ergebnis im Mähergerät überprüft werden.