Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Hi! Interessante Idee.. muss halt leider immer eine App im Hintergrund laufen, bin neurotischer App schliesser ;-)
Ich hatte noch keine Zeit (neuer Schuppen) und wollte mal sehen ob man nicht ein Makro (Kurzbefehle) dazu missbrauchen kann
Sweeny Hm nein, leider nicht. Falls jemandem eine Third-Party-Library über den Weg läuft, mit der man unabhängig vom Basissystem (OS, .NET Framework) TLS 1.2/1.3-Webabfragen machen kann, dann würde ich diese liebend gerne integrieren. Aber bisher war ich da nicht fündig.
Ich habe leider selbst zu wenig Ahnung. Habe aber von einem Bekannten diese Antwort bekommen: Basierend auf einer ersten Recherche scheint es, als wäre das tatsächlich ein Thema von der jeweiligen .NET-Version. Offensichtlich solltest du wenigstens auf .NET Framework 4.6 (für TLS 1.2) oder besser noch .NET Framework 4.8 (für TLS 1.3) aktualisieren. Das bringt ja uns nicht viel.
So wie ich es verstehe werden die Bibliotheken nicht viel bringen, weil die alle letztlich auf einer Schicht aus dem .NET Framework aufsetzen. Da TLS wohl ziemlich weit „nach unten“ geht, ist der Aufwand zu groß eine vom .NET Framework unabhängig Umsetzung zu machen. Das ist aber nur eine Vermutung!
In diesem Artikel gibt es ein paar Hintergründe von Micorsoft. Hier ist ein „Hack“ wie angeblich auch mit .NET 4.0 das TLS 1.3 verwendet werden kann. Ob das funktioniert und wie sicher das ist, kann ich nicht beurteilen.
Sweeny Vielleicht hilft das, schätze ich aber als eher unwahrscheinlich ein. Das Beispiel ist für Windows, auf dem Gira X1 läuft der .NET-Code aber unter Mono, was natürlich eine vollständig andere API ist. Falls dieser enum-Wert in irgend einer Weise direkt an das OS weitergegeben wird, könnte es funktionieren. Werde ich mal ausprobieren (Ergebnis frühestens in ein paar Wochen zu erwarten, bin gerade sehr voll).
Ich hatte das letztens recherchiert: Gibt wohl für den alten Mono keine Chance (auch nicht das von Sweeny).
Solange also seitens Gira kein Update kommt bleibt nur der Weg über HTTP oder via einem Proxy welcher HTTPS auf HTTP übersetzt (z.b. Mit nginx möglich).
Und was spricht seitens Gira denn nun gegen ein Update? Bei der Gelegenheit könnte man doch auch gleich den Trend von 2010 mit integrieren und Push-Nachrichten direkt in der App mit anbieten
Und was spricht seitens Gira denn nun gegen ein Update? Bei der Gelegenheit könnte man doch auch gleich den Trend von 2010 mit integrieren und Push-Nachrichten direkt in der App mit anbieten
SirUli ich stehe in Hannover vor dem gleichen Problem mit TLS 1.3. Gibt es eine einfach Möglichkeit einen Proxy welcher HTTPS auf HTTP übersetzt mit einer FritzBox oder eine Synology DiskStation einzurichten? Kenne mich da nicht so gut mit aus.
Hallo, ich bin heute über eine interessante. dockerisierte REST API für Signal Messenger (mein präferierter Messenger) gestolpert.
Die API wird lokal (in meinem Fall dann auf dem Synology NAS) bereitgestellt und über http POST angesprochen (JSON Inhalt).
Offenbar basiert das Projekt stark auf einer Integration mit Home Assistant um Status-Nachrichten per Signal zu senden.
Daher - bevor ich da selbst anfange rumzuspielen - die Frage, ob jemand evtl. genau das schon realisiert hat?
ich versuche mich nun an dem XML/JSON Perser (bin kein Entwickler, aber lernfähig:-)
Das Beispiel mit openweathermap und XML funktioniert gut und ich habe dabei einiges über den Aufbau der Pfade verstanden.
Da ich nun für meine Markise gerne über die onecall API die Niederschlagsmenge in den nächsten 10 Minuten aufsummiert haben möchte (um damit den Regenalarm für die Markise zu triggern) habe ich nun die onecall API im Web Request abgefragt und diese liefert auch einen JSON String dann in den XML/JSON Parser.
Leider komme ich mit dem Pfadaufbau nicht zurecht. Wo liegt mein Fehler:
Hier die JSON Ausgabe und der Pfad wie ich ihn verwende mit dem Ziel die Niederschlagsmengen aufzuaddieren:
EDIT - ich korrigiere mich gleich selbst:
Durch das Posten hier habe ich den code anders "gesehen" und erkannt, dass ich direkt auf "minutely" springen muss!
Korrekt also Pfad:
Code:
/root/minutely/item[position()<11]/precipitation
Manchmal hilft es aus Verzweiflung hier einen Post zu erstellen um die Lösung selbst zu erkennen :-)
Zuletzt geändert von cybersmart; 27.05.2021, 09:09.
Das Problem hatte ich bei mir auch. Hat mir hyman dann auch gleich geholfen. Der Parser kommt mit den Ausdrücken "1" und "null" nicht klar (warum, habe ich auch nicht verstanden...). Deswegen muss man den JSON-Content erst durch einen Baustein schicken, der die doofen Ausdrücke gegen unproblematische Ausdrücke austauscht. Das geht über den Formelberechner (ebenfalls ein Baustein von hyman).
Dann solltest du auch keinen Laufzeitfehler mehr bekommen.
Hallo zusammen,
da ich gerade meinen kompletten Feierabend mit damit verplempert habe, meinen Fronius WR auf dem X1 zu Visualisieren, möchte ich hier eine Schritt-für-Schritt Anleitung zur verfügung stellen. Ohne die Posts von Markus85 und jaydee73 hätte ich mir sowieso die Zähne daran ausgebissen, da ich nicht wirklich ahnung von der Materie XML/JSON habe und auch nicht wirklich die Motivation verspüre mich näher damit zu beschäftigen. Da ich die Anzeige der Aktuellen PV Produktion aber durchaus für sinnvoll halte musste es halt doch sein.
Folgende Lösung hat bei mir dann zum Erfolg geführt:
Wichtig hierbei sind natürlch auch die richtigen Parameter. Diese habe ich auch durch ausgiebige Suchanfragen nicht gefunden, darum hier die Anleitung:
Web Request:
URL = "http://IP Adresse Fronius WR/solar_api/v1/GetInverterRealtimeData.cgi?Scope=System" (Steht m.E sehr dürftig erklärt im Hanbuch vom Fronius Datalogger)
Metode = GET
Autorisation = keine
Eigene Header setzen = keine
Formelberechnung:
Typ des Ausgangs 1 = String
Formel 1 = {text:S}.Replace(""1"",""one"").Replace("null" ,"0.0") (siehe Zitat jaydee73)
XML/JSON-Parser:
Eingangskodierung = JSON
Pfad 1 = /root/Body/Data/PAC/Values/one
Pfad 2 = /root/Body/Data/DAY_ENERGY/Values/one (hier war dann mein Fehler begraben.
Art der Pfadauswahl = Erster Treffer als Zahl
Kleiner Hinweis noch: Die URL vom Web Request im Browser eingeben dann sieht man auch andere mögliche Abfragewerte.
Ich hoffe das hilft allen weiter die vor dem selben Problem stehen.
Wenn es hierzu schon einen Thread gibt, bitte verschieben. Hab aber nix gefunden.
URL = "http://IP Adresse Fronius WR/solar_api/v1/GetInverterRealtimeData.cgi?Scope=System" (Steht m.E sehr dürftig erklärt im Hanbuch vom Fronius Datalogger)
In Ergänzung dazu vielleicht noch: Es gibt mehrere mögliche Web-Requests, der oben genannte ist einer davon. Wenn man aber z. B. auch einen Smartmeter verwendet, dann eignen sich ggf. andere Requests besser, weil man mehr/andere Werte erhält. Oder man macht mehrere Requests und führt die Daten dann selbst zusammen.
Und die Pfade im JSON-Parser müssen natürlich zum Webrequest passen. Also bei einem anderen Request muss auch ein anderer Pfad verwendet werden. Da hilft dann, wie von FF66 vorgeschlagen, die URL einmal im Browser aufzurufen um zu schauen, was denn da zurückgeliefert wird.
wäre toll, wenn da einer einen fertigen Fronius Baustein aus allen bauen könnte
ja, das wäre natürlich schön, aber wenn sich da jemand findet, würde ich empfehlen, damit aktuell nicht anzufangen. Warum? Fronius bastelt anscheinend derzeit kräftig an der API rum. Die neuen Gen24-Wechselrichter z. B. funktionieren mit der aktuell gültigen V1 der API nicht mehr richtig, die Web-Requests liefern da häufig keine Werte zurück. Ich vermute, es wird eine neue V2 der API geben, die dann hoffentlich für alle WR gültig ist. Der Baustein sollte dann eher auf dieser API aufsetzen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar