Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. (gelöst) Daten für externe verfügbar machen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst) Daten für externe verfügbar machen

    This topic has been deleted. Only users with topic management privileges can see it.
    • David G.
      David G. last edited by David G.

      Die benötigen Schritte für die Website hab ich in 2 verschiedenen Skripten am laufen.

      Eine html schreiben klappt wunderbar und ein upluad via curl auch.

      In die html kann man ja aicu easy ein Screenshot von grafana, flot oder echarts einbinden (bei echarts kannst du das Bild auch direkt im Skript generieren lassen).

      EDIT:
      Wie ich das mit der html mache habe ich hier für einen anderen Anwendungsfall beschrieben.

      Kann man sich schon formatieren und im Browser öffnen.

      Den upluad kann man dann mit

      curl  -k "sftp://83.46.38.23:22/CurlPutTest/" --user "testuser:testpassword" -T "C:\test\testfile.xml" --ftp-create-dirs
      

      erledigen.

      1 Reply Last reply Reply Quote 0
      • Jey Cee
        Jey Cee Developer @OliverIO last edited by Jey Cee

        @oliverio sagte in Daten für externe verfügbar machen:

        Habe beendet. Chrome geöffnet.
        Voila

        Dann war es nicht richtig eingerichtet, sonst lässst sich die App nicht beenden. Selbst bei einem Neustart vom Gerät kommt man nicht an der App vorbei.

        @oliverio sagte in Daten für externe verfügbar machen:

        Die meisten Kiosk Systeme sind auch vor physischem Zugriff auf Tasten geschützt,

        Das ist richtig. Aber wenn ich mich recht erinnere lassen sich auch die Tasten soweit Sperren das keine Interaktion möglich ist auf OS ebene.

        Aber ist klar wenn jemand einen weg finden will hält ihn auch ein WLAN Passwort nicht auf.

        A 1 Reply Last reply Reply Quote 0
        • A
          andibr @Jey Cee last edited by

          @jey-cee

          Danke für die Hinweise. Wie bereits beschrieben, werde ich mich hüten meinen Mieter in irgend welcher Weise Zugriff auf mein Netzwerk zu geben. Bevor ich das mache, müssen sie darauf verzichten oder in den Keller laufen und die Thremometer am Boiler ablesen.

          Es wäre sicher möglich mittels VLAN und fully-Kisok eine sichere Lösung zu bauen, aber der Aufwand scheint mir doch eher hoch zu sein. Was mich aber mehr stört: Ich bin dann für ein weiteres Gerät verantwortlich, d.h. wenn es nicht läuft muss man schauen". Das fällt eben bei einer WWW-Seite ganz weg, sprich ich bin nicht verantwortlich für das Anzeigegerät und ein neuer Mieter braucht auch keine weitere Instruktion.

          In der Zwischenzeit habe ich mich auch mit meinem Hosting Admin unterhalten. Damit ich mit dem Iob auf die MySQL zugreifen kann, benötige ich einen "SSH-Tunnel". Wie das auch immer mit Iob herzustellen ist, habe ich noch nicht verstanden. Sobald die Datensätze mal in der externen MySQL sind, scheint es nicht mehr so ein grosses Problem zu sein. Da werde ich morgen mal meine Arbeitskollegen fragen, die machen das immer mal wieder.

          Einen etwas anderen Weg den ich mir noch gedacht habe: Man könnte ja mit einem Skript ein MySQL Backup mit den entsprechenden Datensätzen machen, und das Backup dann extern importieren.

          David G. OliverIO 2 Replies Last reply Reply Quote 0
          • David G.
            David G. @andibr last edited by

            @andibr

            Warum nicht die html Tabelle?
            Mit getHistory könnte man gezielt Bereiche abfragen und darstellen.

            A 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @andibr last edited by

              @andibr
              https://wiki.ubuntuusers.de/SSH/#SSH-Tunnel

              A 1 Reply Last reply Reply Quote 0
              • A
                andibr @David G. last edited by andibr

                @david-g

                Wäre auch eine Lösung, nur habe ich noch nicht ganz verstanden wie du das html erstellst. Kannst du mir evt. dein Skript mal kopieren (ich stehe da etwas am Berg)?

                Fürs erste würde eine Art unsichtbare Tabelle schon genügen.
                Beispiel:
                Boiler oben: 75.0
                Boiler mitte: 50.0
                Boiler unten: 35.0

                Fürs erste sicher eine Möglichkeit.
                Das mit dem Upload lässt sich sicher mit Blockly oder Linux-Cron machen, quasi alle 5min einfach das neue html hochladen per ftp.

                David G. 1 Reply Last reply Reply Quote 0
                • A
                  andibr @OliverIO last edited by

                  @oliverio said in Daten für externe verfügbar machen:

                  @andibr
                  https://wiki.ubuntuusers.de/SSH/#SSH-Tunnel

                  So wie ich das Mail von meinem Hoster verstehe, muss der MySQL-Client (also der SQL-Adapter) den Tunnel direkt zur Datenbank aufbauen. Das ganz doofe an der Sache ist hier eben noch das er mir ein Beispiel angehängt hat für die MySQL Workbench und ich kein Win und keine MySQL Workbench installiert habe. Auch der HeidiSQL Client verwendet nur das doofe Win-Tool "plink.exe", damit hat man aber auf Linux so seine Mühe.

                  1 Reply Last reply Reply Quote 0
                  • David G.
                    David G. @andibr last edited by David G.

                    @andibr

                    Bekommen nachher Besuch.
                    Bastel da heute abend am Sofa was.

                    Mit dem getHistory weiß ich nicht genau wie es geht.

                    Evtl kann da jmd was zu schreiben?
                    Dass man eine Liste mit Wert und Zeitstemlel aus Zeitraum x bekommt?
                    Am besten, dass man es in Blockly verwenden kann.

                    Sonst muss man sich die im Skript selber mit aufnehmen. Die Frage ist dann nur, ob die letzten x Werte, ein Zeitraum oder sons wie.

                    EDIT
                    Für drin Beispiel braucht man ja nichtmals eine Tabelle. Sind ja nur Zeilen am Stück.

                    EDIT2 :

                    @andibr sagte in Daten für externe verfügbar machen:

                    Fürs erste würde eine Art unsichtbare Tabelle schon genügen.
                    Beispiel:
                    Boiler oben: 75.0
                    Boiler mitte: 50.0
                    Boiler unten: 35.0

                    Reicht dir immer die aktuelle Temperatur?
                    Brauchst du keinen Verlauf?

                    EDIT 3:

                    Wenn es dir wie in Edit 2 reicht, kannst du 1 zu 1 mein Skript für das PDF nehmen.

                    Bei dem curl wo ich das PDF generiere den curl den ich oben gepostst hab. Den Block zum versenden vom PDF einfach entfernen.

                    Beim html erstellen nimmst du einfach einen Textbaustein und bastelts das zusammen. Zum testen erstmal nur wie es oben steht was dir reichen würde. Ganz ohne html Code. Wenn man es formatieren will, kann man den nachträglich rein machen. Es reicht erstmal, wenn die Dateiendung .htm oder .html ist.

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      andibr @David G. last edited by

                      @david-g

                      Je, ich habe es mal geschaft ein "html" zusammen zubasteln
                      html.png .

                      Jetzt kommt noch der Schritt das dann hoch automatisch hoch zu laden.

                      David G. rug1024 2 Replies Last reply Reply Quote 0
                      • David G.
                        David G. @andibr last edited by David G.

                        @andibr

                        Wunderbar, auch wenn du viele Angaben drinnen hast die es garnicht zwingend braucht.

                        Hochladen kannst du es jetzt mit einem exec Block und dem Inhalt:

                        curl  -k "sftp://83.46.38.23:22/CurlPutTest/" --user "testuser:testpassword" -T "C:\test\testfile.xml" --ftp-create-dirs
                        

                        Exec muss in den Settings des JavaScript Adapter aktiviert sein.

                        EDIT:
                        Für eine neue Zeile würde ich nicht den Blockly Baustein nehmen <br> generiert in HTML einen Zeilenumbruch mit <p> einen neuen Absatz.

                        Für Tabellen nehme ich immer einen Onlinegenerator.
                        Wenn man da dann css deaktiviert bekommt man sehr gute vorlagen.

                        Hier gibt's leicht erklärt die wichtigsten Befehle zur Formatierung.
                        https://www.loewenstark.com/wissen/html/texte/

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          andibr @David G. last edited by

                          @david-g

                          nach mehreren Anläufen hat es jetzt sogar geklappt mit dem Curl im "exec" drin.

                          Zum index.html selber habe ich mir rasch mit dem "Atom" ein Muster gemacht und das dann im Blockly versucht nachzubilden. Darum sind da auch so viele "Text-Blöcke" drin. das muss ich jetzt noch etwas bereinigen, das kann man so ja niemandem zeigen.

                          Vielen Dank für die Hilfe

                          David G. 1 Reply Last reply Reply Quote 0
                          • David G.
                            David G. @andibr last edited by David G.

                            @andibr

                            Super,

                            Wenn du bei der Formatierung noch Hilfe brauchst kannst du dich ja nochmal melden.

                            Index.html musst du deine Datei nur nennen, wenn diese beim Aufruf von abc.de direkt geöffnet werden soll.
                            Kann aich jeden anderen Namen haben. Dann öffnet man die mit abc.de/123.html

                            EDIT:
                            Den habe ich neulich mal für einen Kollegen rausgesucht.
                            Einfach wie gewohnt seinen Text erstellen.
                            Der macht recht sauberes HTML was man gut versteht finde ich.

                            https://html-online.com/editor/

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              andibr @David G. last edited by andibr

                              @david-g

                              Im Moment läuft es nun ganz gut:

                              html2.png

                              Ist nicht besondes schön, aber sehr zweckmässig und schlicht. Ich werde mich sicher weiter mit der Sache mit dem MySQL Client beschäftigen, denn man könnte so ja noch ganz andere Dinge machen. Ich denke nur schon an eine wirklich externe Datensicherung der Datenbank. (ich habe im Hosting auch noch Bereiche die nicht per web zugänglich sind). Oder auch Daten meiner Wetterstation etc. etc..

                              Nochmals ganz herzlichen Dank für die Hinweise und Tips, manchmal ist es als Anfänger eben doch etwas komplexer als man denkt und muss Umwege nehmen.

                              Andi

                              1 Reply Last reply Reply Quote 1
                              • rug1024
                                rug1024 @andibr last edited by

                                @andibr
                                Könntest Du bitte die zweite Zeile "<html lang......." mal komplett posten?
                                Und: in welches Verzeichnis wird die Datei geschrieben?
                                Bei mir klappt es irgendwie nicht.

                                OliverIO 1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @rug1024 last edited by

                                  @rug1024

                                  Als Grundgebühr kannst du jede beliebige Vorlage nehmen
                                  https://wiki.selfhtml.org/wiki/HTML/Tutorials/Grundgerüst#Kopiervorlage_f.C3.BCr_ganz_Ungeduldige
                                  oder hier
                                  https://www.w3schools.com/html/

                                  Das was er da in blockly erzeugt wird nicht lokal gespeichert
                                  Sondern direkt nach dem zusammenbauen hochgeladen.
                                  Das Verzeichnis hängt von der Konfiguration deines providers ab.
                                  Meist taucht im pfadnamen auch dein sftp username auf.
                                  Welcher Provider bist du?

                                  rug1024 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO last edited by OliverIO

                                    Um es generell zu vereinfachen wäre es auch denkbar die Daten in eine json Datei schreiben (bzw eine JavaScript Datei die ein json Objekt mit Zuweisung enthält) und nur diese zu schreiben.
                                    Die html Datei auf dem Server bleibt immer fix

                                    https://stackoverflow.com/questions/67734739/import-a-local-json-using-javascript

                                    1 Reply Last reply Reply Quote 0
                                    • rug1024
                                      rug1024 @OliverIO last edited by

                                      @oliverio
                                      Ich hab einen Server bei Hetzner.
                                      Aber leider verstehe ich die Methode welche hier angewendet wird so gar nicht.
                                      Auch mit JSON kann ich nichts anfangen.

                                      OliverIO 2 Replies Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @rug1024 last edited by

                                        @rug1024

                                        ja, dann wird es schwierig

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          andibr @OliverIO last edited by

                                          Also ich habe rasch nachgeschaut, aber leider habe ich das Blockly schon gelöscht.

                                          Aber folgendes habe ich gemacht: ich habe mir mit einem einfachen html- Tool die Darstellung erstellt. Danach mal in meinen eigenen Webserver hochgeladen und angeschaut. Nach dem das gut war, habe ich das html-Textfile mit hilfe des Blockly zusammengebaut und mit einem weitern Teil das login in den den sftp und das kopieren gemacht.

                                          Als Trigger kann man ein Cron oder was auch sonst nehmen.

                                          Es gibt mit Sicherheit elegantere Lösungen, aber für das was ich dazumal brauchte genügte es.

                                          1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @rug1024 last edited by

                                            @rug1024

                                            wenn du das weiter verfolgen willst, dann musst du dir zunächst ein paar Grundlagen zulegen. Am besten in der Reihenfolge

                                            html-tutorial

                                            • https://wiki.selfhtml.org/wiki/HTML/Tutorials/Einstieg oder
                                            • https://www.w3schools.com/html/

                                            javascript-tutorial

                                            • https://wiki.selfhtml.org/wiki/JavaScript/Tutorials/Einstieg
                                            • https://www.w3schools.com/js/default.asp

                                            cURL und FTP
                                            hier nur das 4.Kapitel
                                            https://thomas-falkner.de/2011/01/25/curl-mit-6-praktischen-beispielen-erklaert/

                                            bei htlm und javascript sind es nur die einsteiger tutorials. es gibt da noch mehr, wenn du lust hast. aber das verbessert das verständnis für die eingesetzten technologien.
                                            im anschluss kann man dann hier weitermachen.
                                            evtl hat jemand bereits eine fertige lösung, die du für dich anpassen kannst.

                                            rug1024 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            535
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            32
                                            2111
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo