Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker Webseite mit dem Parser auslesen [Gelöst]

    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

    IoBroker Webseite mit dem Parser auslesen [Gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @TimMöhlenhoff last edited by

      @timmöhlenhoff sagte in IoBroker Webseite mit dem Parser auslesen:

      Die Webseite stellt die Daten in Javascript da.Website.txt

      Ah sorry, gar nicht gesehen. Da kommst Du mit der Url nicht weit. Normalerweise würde ein Browser ja jetzt hingehen und den ganzen JavaScript-Teil ausführen. Das macht der Parser-Adapter aber nicht.

      Du müsstest also mal in den Entwickler-Tools vom Browser nachsehen, woher die Daten kommen. Oft wird einfach nur ein JSON nachgeladen und dieses dann in das HTML eingebettet.

      Damit könntest Du dann viel besser arbeiten und bräuchtest auch den Parser-Adapter nicht.

      1 Reply Last reply Reply Quote 0
      • T
        TimMöhlenhoff @haus-automatisierung last edited by

        @haus-automatisierung Danke für die Antwort, den HTML Quelltext habe ich als txt Datei angehängt als Website.txt

        haus-automatisierung 1 Reply Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @TimMöhlenhoff last edited by haus-automatisierung

          @timmöhlenhoff Wenn man sich den Quelltext so anschaut, gibt es eine status.html, welche in einem iFrame nachgeladen wird. Darin könnten (wenn man vom Namen ausgeht) die gewünschten Infos stehen. Probier mal

          http://admin:admin@192.168.178.66/status.html

          function getUrl(v) {
          	switch (v) {
          		case 1:
          			return "status.html";
          			break;
          		case 2:
          			return "wizard.html";
          			break;
          		case 3:
          			return "wireless.html";
          			break;
          		case 4:
          			return "cable.html";
          			break;
          		case 6:
          			return "account.html";
          			break;
          		case 7:
          			return "update.html";
          			break;
          		case 8:
          			return "restart.html";
          			break;
          		case 9:
          			return "reset.html";
          			break;
          		case 51:
          			return "select.html";
          			break;
          		case 52:
          			return "remote.html";
          			break;
          		case 53:
          			return "port.html";
          			break;
          		case 54:
          			return "wirepoint.html";
          			break;
          		case 71:
          			return "update.html";
          			break;
          		case 72:
          			return "invupdate.html";
          			break
          	}
          }
          
          T 1 Reply Last reply Reply Quote 0
          • T
            TimMöhlenhoff @Homoran last edited by

            @homoran Nein es ist eine Webseite vom Wechselrichter. Der Typ ist Deye Mirkowechselrichter 800Watt SUN-M80G3-EU-Q0

            1 Reply Last reply Reply Quote 0
            • T
              TimMöhlenhoff @haus-automatisierung last edited by

              @haus-automatisierung Die Statusseite sieht etwas verlassen aus. Website-Status.png
              Im Quelltext der Seite ist allerdings der gewünschte Wert enthalten.
              Website-Status.txt
              Bei der Zeile 123 ist der Wert den ich benötige.
              var webdata_now_p = "453";

              Homoran Codierknecht 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @TimMöhlenhoff last edited by

                @timmöhlenhoff sagte in IoBroker Webseite mit dem Parser auslesen:

                Im Quelltext der Seite ist allerdings der gewünschte Wert enthalten.

                bitte in code-tags posten.

                ist das der Quelltext (rechte Maustaste -> Quelltext anzeigen) oder die aufbereitete HTML Seite?

                T 1 Reply Last reply Reply Quote 0
                • T
                  TimMöhlenhoff @Homoran last edited by Homoran

                  @homoran In der TXT Datei ist der Quelltext enthalten.

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @TimMöhlenhoff last edited by

                    @timmöhlenhoff sagte in IoBroker Webseite mit dem Parser auslesen:

                    @homoran In der TXT Datei ist der Quelltext enthalten.

                    bitte in code-tags im Forum posten, nicht als txt

                    und die Antwort auf die andere Frage?

                    T 1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @TimMöhlenhoff last edited by

                      @timmöhlenhoff sagte in IoBroker Webseite mit dem Parser auslesen:

                      Bei der Zeile 123 ist der Wert den ich benötige.

                      Dann sollte der Regex-Ausdruck lauten: webdata_now_p = \"(\d+)

                      Ausprobieren: https://regex101.com/

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        TimMöhlenhoff @Homoran last edited by

                        @homoran Tut mir leid, ich weiß nicht wie ich das ganze in code-Tags posten kann. Das was in der Txt datei war, ist der Quelltext.

                        Codierknecht Homoran 2 Replies Last reply Reply Quote 0
                        • T
                          TimMöhlenhoff @Codierknecht last edited by

                          @codierknecht Der Regex Ausdruck funktioniert. Vielen Dank auch an @haus-automatisierung und @Homoran

                          1 Reply Last reply Reply Quote 1
                          • Codierknecht
                            Codierknecht Developer Most Active @TimMöhlenhoff last edited by

                            @timmöhlenhoff sagte in IoBroker Webseite mit dem Parser auslesen:

                            ich weiß nicht wie ich das ganze in code-Tags posten kann

                            So:
                            bf01a80e-a20f-4339-95d5-dd610abcc06e-image.png

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @TimMöhlenhoff last edited by

                              @timmöhlenhoff sagte in IoBroker Webseite mit dem Parser auslesen:

                              ich weiß nicht wie ich das ganze in code-Tags posten kann.

                              ok!

                              wird u.a. hier https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1 erklärt.
                              sogar mit Filmchen

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                TimMöhlenhoff @Homoran last edited by

                                @homoran Anbei noch der Auszug mit Code-Tags. Vielen Dank für die schnelle Hilfe.

                                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                                
                                <html xmlns="http://www.w3.org/1999/xhtml">
                                <head>
                                <style type="text/css">
                                .in_body
                                {
                                	margin-top:0px;
                                	margin-left:0px;
                                	margin-right:0px;
                                	margin-bottom:0px;
                                	background-color:transparent;
                                }
                                .div_c
                                {
                                	margin-left:50px;
                                	margin-right:50px;
                                	margin-top:50px;
                                	margin-bottom:50px;
                                }
                                .cu
                                {
                                	cursor:pointer;
                                }
                                .b
                                {
                                	font-weight:bold;
                                }
                                .lab_5
                                {
                                	font-size:16px;
                                	color:#666666;
                                	margin-left:-20px;
                                }
                                .lab_l2
                                {
                                	float:left;
                                	width:32%;
                                	color:#666666;
                                	margin-bottom:-2px;
                                	font-size:14px;
                                }
                                .lab_r2
                                {
                                	float:left;
                                	width:68%;
                                	color:#666666;
                                	text-align:right;
                                	font-size:14px;
                                }
                                .cl
                                {
                                	clear:left;
                                }
                                .line
                                {
                                	height:1px;
                                	background-color:#666666;
                                	width:100%;
                                	margin-top:5px;
                                	margin-bottom:5px;
                                }
                                .sp_5
                                {
                                	height:5px;
                                	width:500px;
                                }
                                .sp_20
                                {
                                	height:20px;
                                	width:500px;
                                }
                                .label
                                {
                                	float:left;
                                	width:50%;
                                	color:#666666;
                                	margin-bottom:-2px;
                                	font-size:14px;
                                }
                                .lab_r
                                {
                                	float:left;
                                	width:50%;
                                	color:#666666;
                                	text-align:right;
                                	font-size:14px;
                                }
                                .lab_l
                                {
                                	float:left;
                                	width:40%;
                                	color:#666666;
                                	margin-bottom:-2px;
                                	margin-left:10%;
                                	font-size:14px;
                                }
                                .line_l
                                {
                                	height:1px;
                                	background-color:#666666;
                                	width:450px;
                                	margin-top:5px;
                                	margin-bottom:5px;
                                	margin-left:50px;
                                }
                                .sub
                                {
                                    display:inline-block;
                                    width:16px;
                                    text-align:center;
                                }
                                </style>
                                <script type="text/javascript">
                                var height=0;function fileText(id,value){if(document.getElementById(id)){document.getElementById(id).innerHTML=value}}function changeFont(){reCon("main_div").style.fontFamily=window.parent.reFont()}function child_getH(){var nh=document.body.offsetHeight+100;if(nh<500||nh==null){nh=500}if(height!=nh){height=nh;window.parent.child_height(height)}}function reCon(id){return document.getElementById(id)}function ready(){try{window.parent.show_ifr()}catch(e){}child_getH()}function show(v){var c=document.getElementById(v);if(c!=null){c.style.display=""}}function hide(v){var c=document.getElementById(v);if(c!=null){c.style.display="none"}};
                                </script>
                                <script type="text/javascript">
                                var webdata_sn = "23082703F8                             ";
                                var webdata_msvn = "                                       ";
                                var webdata_ssvn = "                                       ";
                                var webdata_pv_type = "";
                                var webdata_rate_p = "";
                                var webdata_now_p = "274";
                                var webdata_today_e = "42.80";
                                var webdata_total_e = "118.8";
                                var webdata_alarm = "";
                                var webdata_utime = "0";
                                var cover_mid = "3805882450";
                                var cover_ver = "MW3_16U_5406_2.32-D1";
                                var cover_wmode = "APSTA";
                                var cover_ap_ssid = "AP_3805882450";
                                var cover_ap_ip = "10.10.100.254";
                                var cover_ap_mac = "44:2A:8F:36:49:F6";
                                var cover_sta_ssid = "Stream";
                                var cover_sta_rssi = "47%";
                                var cover_sta_ip = "192.168.178.68";
                                var cover_sta_mac = "40:2A:8F:36:49:F6";
                                var status_a = "0";
                                var status_b = "0";
                                var status_c = "0";
                                
                                function initPageText(){var list=window.parent.reList("status");fileText("st1",list["t1"]);fileText("st2",list["t2"]);fileText("st3",list["t3"]);for(var i=1;i<=27;i++){if(i!=14){fileText("tx"+i,list[i])}}changeFont();child_getH()}function upfold(v){if(document.getElementById("up_"+v+"_div").style.display=="none"){show("up_"+v+"_div");reCon("p_"+v).innerHTML="-"}else{hide("up_"+v+"_div");reCon("p_"+v).innerHTML="+"}}function init_main_page(){var on=window.parent.reTip("1");var off=window.parent.reTip("2");document.getElementById("cover_mid").innerHTML=cover_mid;document.getElementById("cover_ver").innerHTML=cover_ver;document.getElementById("cover_ap_status").innerHTML=off;document.getElementById("cover_sta_status").innerHTML=off;if(cover_wmode!="STA"){document.getElementById("cover_ap_status").innerHTML=on;document.getElementById("cover_ap_ssid").innerHTML=cover_ap_ssid;document.getElementById("cover_ap_ip").innerHTML=cover_ap_ip;document.getElementById("cover_ap_mac").innerHTML=cover_ap_mac}if(cover_wmode!="AP"){document.getElementById("cover_sta_status").innerHTML=on;document.getElementById("cover_sta_ssid").innerHTML=cover_sta_ssid;document.getElementById("cover_sta_rssi").innerHTML=cover_sta_rssi;document.getElementById("cover_sta_ip").innerHTML=cover_sta_ip;document.getElementById("cover_sta_mac").innerHTML=cover_sta_mac}if(webdata_sn==""){webdata_sn="---"}fileText("webdata_sn",webdata_sn);if(webdata_msvn==""){webdata_msvn="---"}fileText("webdata_msvn",webdata_msvn);if(webdata_ssvn==""){webdata_ssvn="---"}fileText("webdata_ssvn",webdata_ssvn);if(webdata_pv_type==""){webdata_pv_type="---"}fileText("webdata_pv_type",webdata_pv_type);if(webdata_rate_p==""){webdata_rate_p="---"}fileText("webdata_rate_p",webdata_rate_p+" W");if(webdata_now_p==""||webdata_now_p==0){webdata_now_p="---"}fileText("webdata_now_p",webdata_now_p+" W");if(webdata_today_e==""){webdata_today_e="---"}fileText("webdata_today_e",webdata_today_e+" kWh");if(webdata_total_e==""){webdata_total_e="---"}fileText("webdata_total_e",webdata_total_e+" kWh");if(webdata_alarm==""){webdata_alarm="---"}fileText("webdata_alarm",webdata_alarm);if(webdata_utime==""){if(document.getElementById("webdata_sn").innerHTML=="---"){webdata_utime="---"}else{webdata_utime=value+window.parent.reTip("5")}}fileText("webdata_utime",webdata_utime);var st_en=window.parent.reTip("3");var st_dis=window.parent.reTip("4");var st_un=window.parent.reTip("41");if(status_a=="1"){document.getElementById("cover_remote_status_a").innerHTML=st_en}else{if(status_a=="0"){document.getElementById("cover_remote_status_a").innerHTML=st_dis}else{document.getElementById("cover_remote_status_a").innerHTML=st_un}}if(status_b=="1"){document.getElementById("cover_remote_status_b").innerHTML=st_en}else{if(status_b=="0"){document.getElementById("cover_remote_status_b").innerHTML=st_dis}else{document.getElementById("cover_remote_status_b").innerHTML=st_un}}};
                                
                                </script>
                                </head>
                                <body class="in_body" onload="init_main_page();">
                                	<div class="div_c" id="main_div">
                                        <div class="lab_5 cu b" onclick="upfold(1);child_getH();"><span class="sub" id="p_1">-</span><span id="st1" style="margin-left:3px"></span></div>
                                        <div class="sp_5"></div>
                                        <div id="up_1_div">
                                        <div class="lab_l2" id="tx1"></div>
                                                <div class="lab_r2" id="webdata_sn"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" id="tx2"></div>
                                                <div class="lab_r2" id="webdata_msvn"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" id="tx3"></div>
                                                <div class="lab_r2" id="webdata_ssvn"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" id="tx4"></div>
                                                <div class="lab_r2" id="webdata_pv_type"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" id="tx5"></div>
                                                <div class="lab_r2" id="webdata_rate_p"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" style="color:#666666;font-weight:bold;" id="tx6"></div>
                                                <div class="lab_r2" id="webdata_now_p" style="color:#666666;font-weight:bold;"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" style="color:#666666;font-weight:bold;" id="tx7"></div>
                                                <div class="lab_r2" id="webdata_today_e" style="color:#666666;font-weight:bold;"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" style="color:#666666;font-weight:bold;" id="tx8"></div>
                                                <div class="lab_r2" id="webdata_total_e" style="color:#666666;font-weight:bold;"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" style="color:#666666;font-weight:bold;" id="tx9"></div>
                                                <div class="lab_r2" id="webdata_alarm" style="color:#666666;font-weight:bold;"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        <div class="lab_l2" style="color:#666666;font-weight:bold;" id="tx10"></div>
                                                <div class="lab_r2" id="webdata_utime" style="color:#666666;font-weight:bold;"></div>
                                        <div class="cl"></div>
                                        <div class="line"></div>
                                        </div>
                                        <div class="sp_20"></div>
                                        <div class="lab_5 cu b" onclick="upfold(2);child_getH();"><span class="sub" id="p_2">+</span><span id="st2" style="margin-left:3px"></span></div>
                                                <div class="sp_5"></div>
                                                <div id="up_2_div" style="display:none">
                                                <div class="label" id="tx11"></div>
                                                <div class="lab_r" id="cover_mid"></div>
                                                <div class="cl"></div>
                                                <div class="line"></div>
                                                <div class="label" id="tx12"></div>
                                                <div class="lab_r" id="cover_ver"></div>
                                                <div class="cl"></div>
                                                <div class="line"></div>
                                                <div class="label" id="tx13"></div>
                                                <div class="lab_r" id="cover_ap_status" style="color:#666666;font-weight:bold;"></div>
                                                <div class="cl"></div>
                                                <div class="line"></div>
                                                <div class="lab_l" id="ap_ssid">SSID</div>
                                                <div class="lab_r" id="cover_ap_ssid"></div>
                                                <div class="cl"></div>
                                                <div class="line_l"></div>
                                                <div class="lab_l" id="tx15"></div>
                                                <div class="lab_r" id="cover_ap_ip"></div>
                                                <div class="cl"></div>
                                                <div class="line_l"></div>
                                                <div class="lab_l" id="tx16"></div>
                                                <div class="lab_r" id="cover_ap_mac"></div>
                                                <div class="cl"></div>
                                                <div class="line_l"></div>
                                                <div class="label" id="tx17"></div>
                                                <div class="lab_r" id="cover_sta_status" style="color:#666666;font-weight:bold;"></div>
                                                <div class="cl"></div>
                                                <div class="line"></div>
                                                <div class="lab_l" id="tx18"></div>
                                                <div class="lab_r" id="cover_sta_ssid"></div>
                                                <div class="cl"></div>
                                                <div class="line_l"></div>
                                                <div class="lab_l" id="tx19"></div>
                                                <div class="lab_r" id="cover_sta_rssi"></div>
                                                <div class="cl"></div>
                                                <div class="line_l"></div>
                                                <div class="lab_l" id="tx20"></div>
                                                <div class="lab_r" id="cover_sta_ip"></div>
                                                <div class="cl"></div>
                                                <div class="line_l"></div>
                                                <div class="lab_l" id="tx21"></div>
                                                <div class="lab_r" id="cover_sta_mac"></div>
                                                <div class="cl"></div>
                                                <div class="line_l"></div>
                                                </div>
                                                
                                                <div class="sp_20"></div>
                                                <div class="lab_5 cu b" onclick="upfold(3);child_getH();"><span class="sub" id="p_3">+</span><span id="st3" style="margin-left:3px"></span></div>
                                                <div class="sp_5"></div>
                                                <div id="up_3_div" style="display:none">
                                                <div class="label" id="tx25"></div>
                                                <div class="lab_r" id="cover_remote_status_a"></div>
                                                <div class="cl"></div>
                                                <div class="line"></div>
                                                <div class="label" id="tx26"></div>
                                                <div class="lab_r" id="cover_remote_status_b"></div>
                                                <div class="cl"></div>
                                                <div class="line"></div>
                                                </div>
                                    </div>
                                	<script type="text/javascript">
                                	    initPageText();
                                	    ready();
                                	</script>
                                </body>
                                </html>
                                
                                
                                Rene55 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @Codierknecht last edited by

                                  @codierknecht sagte in IoBroker Webseite mit dem Parser auslesen [Gelöst]:

                                  @timmöhlenhoff sagte in IoBroker Webseite mit dem Parser auslesen:

                                  Bei der Zeile 123 ist der Wert den ich benötige.

                                  Dann sollte der Regex-Ausdruck lauten: webdata_now_p = \"(\d+)

                                  ich käme auf ow_p\s\=\s"(\d+) wäre aber nur eine Variante

                                  Voraussetzung ist, dass das wirklich der Quelltext ist und du dich über den URL authentifizieren kannst

                                  Ausprobieren: https://regex101.com/

                                  1 Reply Last reply Reply Quote 0
                                  • Rene55
                                    Rene55 @TimMöhlenhoff last edited by Rene55

                                    @timmöhlenhoff Du kannst aber auch gerne mal hier https://forum.iobroker.net/topic/62595/deye-solar-sun600-auslese-javascript nachschauen.
                                    Wenn du noch mehr vom WR sehen möchtes: es gibt auch einen Adapter dafür. https://forum.iobroker.net/topic/63899/adapter-cloudfreie-auslesung-von-deye-invertern

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    913
                                    Online

                                    31.9k
                                    Users

                                    80.3k
                                    Topics

                                    1.3m
                                    Posts

                                    5
                                    19
                                    691
                                    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