Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Mymüll Visualizierung in VIS

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mymüll Visualizierung in VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Karsten Schwab @liv-in-sky last edited by

      @liv-in-sky Danke für die Zeit.
      Leider muss ich feststellen das ich zuviel nicht weiß...
      Ich mach mich jetzt nochmal etwas schlauer über Grundlagen Iobroker .
      Dann kann ich deinen Tipp ausprobieren und melde mich .
      Gruß Karsten

      1 Reply Last reply Reply Quote 0
      • K
        Karsten Schwab @DJMarc75 last edited by Homoran

        @djmarc75
        Hi
        Ich habe zu spät gesehen das man auf "Spoiler" klicken kann um den Code auszulesen...
        Jedenfalls hat meine suche volgenden Code hervorgebracht.

        const city_id =21804;
        const area_id =282;
        const logging = false;
        const name = 'Müllabfuhr [Stadt]';
        const numberOfEntries = 9;
        
        const request = require('request');
        const instanz = '0_userdata.' + instance + '.muell';
        
        if (logging) log('starting muell.' + instanz);
        
        extendObject(instanz, {
                type: "device",
                common: {
                    name: name
                }
            }, function (err) {
                if (err) {
                    log('could not create device: ', 'warn');
                    return;
                }
            
            }
        );
        let baseData = {};
        
        // query names first
        request({
            url: 'https://mymuell.jumomind.com/mmapp/api.php?r=trash&city_id=' + city_id + '&area_id=' + area_id, 
            method: 'GET', 
            headers: { 'Accept': 'application/json' }
            }, function(error, response, body) {
                if (!error && response.statusCode == 200) {
                    var data = JSON.parse(body);  // info ist ein Objekt
                    data.forEach((v, i) => {
                        baseData[v._name] = v;
                    })
                    updateMuell();
                }
            }
        );
        
        schedule('{"time":{"exactTime":true,"start":"12:17"},"period":{"days":1}}', updateMuell);
        
        function updateMuell() {
            var options = {url: 'https://mymuell.jumomind.com/webservice.php?idx=termins&city_id=' + city_id + '&area_id=' + area_id + '&ws=3', method: 'GET', headers: { 'Accept': 'application/json' }};
        
            request(options, function(error, response, body) {
                if (!error && response.statusCode == 200) {
                    var info = JSON.parse(body);  // info ist ein Objekt
                    if (info[0].Ack === 'Success') {
                        var data = info[0]._data;  // xy ist eine Eigenschaft des Objektes info
                        let counter = 0;
                        const date = (new Date())
                        const todayStr = date.getFullYear() + "-" + ('00' + (date.getMonth() + 1 )).slice(-2) + "-" + ('00' + date.getDate()).slice(-2)
                        log(todayStr);
                        data.forEach((v, i) => {
                            if (todayStr < v.cal_date && counter <= numberOfEntries) {
                                
                                const basePath = instanz + '.' + ('000' + counter).slice(-3);
                                log(v.cal_date + ' -> ' + basePath, 'debug');
                                // States erstellen
                                extendObject(basePath, {
                                        type: "channel",
                                        common: {
                                            name: v.cal_date_normal
                                        }
                                    }, function (err) {
                                        if (err) {
                                            log('could not create device: ', 'warn');
                                            return;
                                        }
                                    
                                    }
                                );
                                createState(basePath + '.date', v.cal_date_normal, {
                                    name: 'Datum',
                                    desc: 'Datum der Abholung',
                                    type: 'string',
                                    read: true,
                                    write: false
                                }, () => {
                                    setState(basePath + '.date', v.cal_date_normal, true);
                                });
                                
                                createState(basePath + '.desc', baseData[v.cal_garbage_type].title, {
                                    name: 'Beschreibung',
                                    desc: 'Beschreibung der Abholung',
                                    type: 'string',
                                    read: true,
                                    write: false
                                }, () => {
                                    setState(basePath + '.desc', baseData[v.cal_garbage_type].title, true);
                                });
                                createState(basePath + '.color', {
                                    name: 'Farbe',
                                    desc: 'Farbe',
                                    type: 'string',
                                    role: 'level.color',
                                    read: true,
                                    write: false
                                }, () => {
                                    setState(basePath + '.color', baseData[v.cal_garbage_type].color, true);
                                });
        
                                counter++;
                            }
                        });
                    }
                }
            });
        };
        

        MOD-EDIT: Code in code-tags gesetzt!

        Damit habe ich im Objekt Ordner Müll diese Einträge bekommen. (Scheinbar holt das skribt termine des nächsten monats ab)
        Screenshot (24).png Screenshot (25).png Screenshot (26).png Screenshot (27).png
        Nun muss ich diese nur noch visualizieren. Hab aber keine Idee wie das geht ...

        DJMarc75 1 Reply Last reply Reply Quote 0
        • DJMarc75
          DJMarc75 @Karsten Schwab last edited by DJMarc75

          @karsten-schwab sagte in Mymüll Visualizierung in VIS:

          Jedenfalls hat meine suche volgenden Code hervorgebracht

          ?

          Ist nicht in Codetags, kann ich daher nicht lesen.

          Und warum nutzt Du nicht einfach mein Skript ?
          Habs grad nochmal bei mir aktiviert und: funktioniert.

          In meinem Beitrag hab ich Dir auch ein Bespiel für die Visualisierung gegeben.

          edit: ein neues Blocklyskript erstellen und den Inhalt aus meinem Spoiler dort einfügen.
          Das ist kein Javaskript!

          K 1 Reply Last reply Reply Quote 0
          • K
            Karsten Schwab @DJMarc75 last edited by Karsten Schwab

            @djmarc75
            Ich habe versucht dein Scribt nachzubasteln aber leider nicht hinbekommen.
            Deshalb die suche im Netz.
            Ich habe zu spät gemerkt das ich in dem kästchen (Spoiler) den Code abrufen könnte.
            Die Visualizierung bekomm ich auch nicht hin. Ich habe wahrscheinlich alle widges durchsucht aber die von dir gezeigten nicht gefunden.

            Ich habe einen Magic Mirror.
            Diesen habe ich nach einer anleitung aus dem Internet zusammengebaut und zusammen mit einem darauf abgestimmten OS zum laufen gebracht.
            Leider ist das OS nicht so das ich mir halt dinge von meinem Smart home (Homematik Milight Instarcam,doorbird Sonos ect ) anzeigen lassen könnte.
            Da jetzt nach 4 Jahren renovierung der Flur endlich mal fertig werden soll hab ich das projekt wieder ausgegraben und den Pi 3b gegeneinen 4b mit Camera getauscht und hatte halt die Idee mir dort mit Iobroker die gewünschten Sachen anzeigen zu lassen.
            Datum Uhrzeit Kalender Wetter Sprit und Heizölpreise (die Günstigsten in der nähe) Video live stream der Kameras und Unwetterwarnungen vom Deutschen Wetterdienst hab ich schon hinbekommen.
            Ich hab es auch geschafft Lampen zu steuern und mir den zustand eines Fensters anzeigen zu lassen. Die lampen sind auch steuerbar was aber nicht nötig wäre.
            Aktuelles ,und wohl nicht das letzte Problem, ist halt der Müllkalender .
            Ich hätte da gern einfach den Wöchentlichen Hinweiß welche Tonne raus muss. Wir haben Abholtermine Dienstag und Freitag (Freitags nur Papier) Es muss also nur Montags und Donnerstags ein hinweis erscheinen der mich dazu veranlasst die richtigen Tonnen rauszustellen.

            Bei den Leuchten und Fenstern weiß ich auch noch nicht wie ich das anstelle .
            Ziel wäre das ein Button Leuchtet wenn im Haus ein licht an ist und am besten dahinter dann ein Feld wäre in dem nacheinander die entsprechenden Lampen aufgeführt werden.
            Das ähnliche mit den Fensterkontakten.
            Damit der Bildschirm nicht dauernd an ist soll die Kamera möglichst bewegung erkennen und dann bei erkannter bewegung das Licht vom Bildschirm eine bestimmte zeit anschalten.
            Und damit es nicht langweilig wird wäre es total toll wenn der Kalender nur termine anzeigt wenn Ich oder Meine Frau in den Spiegel schaut (Gesichtserkennung)....geht ja nicht unbedingt jeden was an wann wir wo was tun:-)

            Super wäre auch wenn bei Klingeln an der Doorbird eine ansage über Sonos kommt , das geht bisher aber leider nur über eine instanz von Sonos und nicht auf allen Lautsprechern.

            Hohe Ziele , bekomm aber kein blockly gebacken.
            Immerhin hab ich mir für diesen Spiegel (nicht nur dafür) das 3D Drucken angeeignet und es geschafft mir Halter und Gehäuse für den Bildschirm zu konstruieren und auch zu drucken.

            Wird wohl wieder ein etwas längerer weg aber wer nicht wagt der nicht gewinnt. 🙂

            Soweit mal zur erklärung meines vorhabens, wenn jemand mehr infos über Magic Mirror bzw Halter und Gehause möchte bitte melden.

            Zuerst ist jetzt aber noch der Müllkalender an der reihe....

            DJMarc75 1 Reply Last reply Reply Quote 0
            • DJMarc75
              DJMarc75 @Karsten Schwab last edited by DJMarc75

              @karsten-schwab Bitte konzentriere Dich in Deinem Beitrag auf die Lösung welche im Titel gesucht wird:

               Mymüll Visualizierung in VIS
              

              Das Andere was Du da so schreibst ist hier nicht relevant.

              Also nochmal:

              @karsten-schwab sagte in Mymüll Visualizierung in VIS:

              Ich habe versucht dein Scribt nachzubasteln aber leider nicht hinbekommen.

              Du brauchst das nicht nachbauen, wäre aber trotzdem sinnvoll damit man auch sieht dass Du prinzipiell lernwillig bist.

              Nochmal der Code:

              <xml xmlns="https://developers.google.com/blockly/xml">
               <variables>
                 <variable id="u5d)cb~FE#u}1YW#39UH">result</variable>
               </variables>
               <block type="schedule" id="ujASN%g^?T!Oxan%4K?c" x="163" y="113">
                 <field name="SCHEDULE">30 0 * * *</field>
                 <statement name="STATEMENT">
                   <block type="request" id="O{OthkAOezNfIxXTqnu*">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                     <field name="WITH_STATEMENT">TRUE</field>
                     <field name="LOG"></field>
                     <value name="URL">
                       <shadow type="text" id="]9HOyM4/PNyd$)v#T#S^">
                         <field name="TEXT">https://mymuell.jumomind.com/mmapp/api.php?r=dates&amp;city_id=2316&amp;area_id=17</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="update" id="%Tx$3J/~.UkEkIXlgU-d">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.Test.mymuell</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="variables_get" id="iw!G}|]{LL_]ET.5f`o|">
                             <field name="VAR" id="u5d)cb~FE#u}1YW#39UH">result</field>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
              </xml>
              

              Blockly erstellen und den Code über

              Screenshot 2023-08-29 172041.png

              reinkopieren.

              Den Datenpunkt musst Du Dir selber anlegen irgendwo unter

              0_userdata.0
              

              Zur VIS kommen wir dann bitte erst wenn Du diese Standards umgesetzt hast.

              edit: zusätzlich noch bitte folgenden Beitrag lesen und zukünftig umsetzen 😉

              https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge

              1 Reply Last reply Reply Quote 0
              • K
                Karsten Schwab last edited by

                @djmarc75
                Hallo
                Danke für deine Geduld.
                Ich habe es geschafft das Blockly zu importieren.
                Ich habe auch die URL so geändert das meine Daten vom Wohnort angezeigt werden (sollten)
                Ich habe auch einen Ordner bei Objekten angelegt , in welchen die Daten dann reinsollen.

                Aber bei dem Blockly "Aktualisiere" kann ich den von mir erstellten Ordner nicht anwählen. Er wird garnicht erst angezeigt.
                Wenn ich bei meinen Objekten schaue sieht der Ordner aber genauso aus wie von dir gewünscht .

                K DJMarc75 2 Replies Last reply Reply Quote 0
                • K
                  Karsten Schwab @Karsten Schwab last edited by

                  @karsten-schwab Screenshot (29).png Screenshot (30).png Screenshot (31).png

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Karsten Schwab @Karsten Schwab last edited by

                    @karsten-schwab

                    javascript.0
                    	2023-08-30 11:04:08.439	error	at processImmediate (node:internal/timers:478:21)
                    javascript.0
                    	2023-08-30 11:04:08.438	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1628:17)
                    javascript.0
                    	2023-08-30 11:04:08.437	error	at /opt/iobroker/node_modules/iobroker.javascript/main.js:2153:17
                    javascript.0
                    	2023-08-30 11:04:08.437	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2055:37)
                    javascript.0
                    	2023-08-30 11:04:08.436	error	at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1802:21)
                    javascript.0
                    	2023-08-30 11:04:08.436	error	at new Script (node:vm:94:7)
                    javascript.0
                    	2023-08-30 11:04:08.436	error	SyntaxError: Unexpected token ','
                    javascript.0
                    	2023-08-30 11:04:08.435	error	^
                    javascript.0
                    	2023-08-30 11:04:08.435	error	setState("Object ID", , true);
                    javascript.0
                    	2023-08-30 11:04:08.434	error	script.js.Müll compile failed: at script.js.Müll:12
                    javascript.0
                    	2023-08-30 11:04:08.428	info	Start javascript script.js.Müll
                    javascript.0
                    	2023-08-30 11:04:08.417	info	Stop script script.js.Müll
                    
                    1 Reply Last reply Reply Quote 0
                    • DJMarc75
                      DJMarc75 @Karsten Schwab last edited by

                      @karsten-schwab Zeig mal das Blockly bitte.

                      @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                      Ich habe auch einen Ordner bei Objekten angelegt , in welchen die Daten dann reinsollen.

                      und dann in diesem Ordner natürlich einen Datenpunkt vom Typ JSON anlegen.

                      @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                      Aber bei dem Blockly "Aktualisiere" kann ich den von mir erstellten Ordner nicht anwählen.

                      Dort kann man auch keinen Ordner sondern nur Datenpunkte auswählen.

                      1 Reply Last reply Reply Quote 0
                      • K
                        Karsten Schwab last edited by

                        @djmarc75
                        Hurra ,ich kann jetzt Datenpunkte anlegen (falls ich im Expertenmodus bin )
                        Das Blockly scheint ohne fehlermeldung zu laufen .

                        Daten habe ich aber keine gefunden.

                        Ich bin lernwillig aber manchmal auch etwas begriffsstutzig.....
                        Danke
                        Ich habe versucht mich an die Forenempfehlung zu halten und Text als Text zu posten, aber oft kommt die meldung "Forbidden something went wrong" dann kann ich in den Reply auch keine Fotos mehr einfügen.
                        Sorry

                        K DJMarc75 2 Replies Last reply Reply Quote 0
                        • K
                          Karsten Schwab @Karsten Schwab last edited by

                          @karsten-schwab ```
                          1400c558-0e8b-4079-a19f-aa3033ad70ea-grafik.png code_text

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            Karsten Schwab @Karsten Schwab last edited by

                            @karsten-schwab Screenshot (34).png

                            1 Reply Last reply Reply Quote 0
                            • DJMarc75
                              DJMarc75 @Karsten Schwab last edited by

                              @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                              Daten habe ich aber keine gefunden.

                              ? Na in dem von Dir angelegten Datenpunkt sind doch alle Infos (in JsonFormat) welche die Abfrage hergibt.

                              Hier ein Auszug davon:

                              [
                                {
                                  "id": "117097340",
                                  "title": "Bio Müll",
                                  "trash_name": "B",
                                  "day": "2023-09-04",
                                  "description": "",
                                  "color": "01DF3A"
                                },
                              
                              K 2 Replies Last reply Reply Quote 0
                              • K
                                Karsten Schwab @DJMarc75 last edited by

                                @djmarc75 hallo

                                knapp daneben geklickt ist auch vorbei .....
                                Ich wusste nicht wo die dort eingetragen sind .
                                Hurra , und vielen dank bis jetzt👍

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Karsten Schwab @DJMarc75 last edited by

                                  @djmarc75
                                  Hurra , Ich habe ein Widget gefunden das deinem am nächsten kommt und erfolgreich die Kopfzeilen geändert.

                                  Screenshot (35).png

                                  Mein Widget sieht allerdings etwas anders aus als deins!

                                  Screenshot (36).png

                                  Beim Testen hatte ich es auch mal geschafft das alles aus der Mülltabelle angezeigt wurde, das war allerdings zu unübersichtlich . Ich konnte es auch nicht reproduzieren.

                                  Ich habe alles von Vis-inventwo heruntergeladen aber dein Widget finde ich nicht.

                                  Ich weiß du hast es schwer mit mir , gib bitte nicht auf.

                                  DJMarc75 1 Reply Last reply Reply Quote 0
                                  • DJMarc75
                                    DJMarc75 @Karsten Schwab last edited by

                                    @karsten-schwab Bitte Screenshots auch als Bild einfügen und nicht so:

                                    @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                                    Screenshot (36).png

                                    Dann

                                    @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                                    Ich habe alles von Vis-inventwo heruntergeladen

                                    heruntergeladen ??

                                    Das ist ein Adapter welcher installierst werden muss:

                                    Screenshot 2023-08-31 164442.png

                                    Danach MUSS der Adapter VIS neu ggf. neu gestartet werden und auch Dein Browser einen reload erfahren.

                                    Wenn das so alles erfolgt ist dann siehst Du auch

                                    Screenshot 2023-08-31 164816.png

                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Karsten Schwab @DJMarc75 last edited by

                                      @djmarc75
                                      Hallo
                                      Ich hab den browser (Firefox) neu gestartet und Cache ect geleert.
                                      Ich finde trotzdem nur diese json Tabelle .
                                      Ich habe das hier installiert (nicht heruntergeladen)

                                      Screenshot (37).png

                                      Screenshot (38).png

                                      Ich verstehe auch nicht warum mir jetzt das als Bildschirmfoto angezeigt wird und im vorherigen als Bild 36 oder so ......

                                      Was kann ich noch versuchen das richtige Json Widget zu bekommen.

                                      Danke für deine Geduld

                                      DJMarc75 1 Reply Last reply Reply Quote 0
                                      • DJMarc75
                                        DJMarc75 @Karsten Schwab last edited by

                                        @karsten-schwab Ob Du mal bitte im VIS Editor nachschauen würdest ?
                                        So bringt das hier nix !

                                        K 1 Reply Last reply Reply Quote 0
                                        • K
                                          Karsten Schwab @DJMarc75 last edited by Karsten Schwab

                                          @djmarc75
                                          Hallo Marc
                                          Nachdem ich heute morgen den Computer neu gestartet habe und nochmalnach der json gesucht habe , wurde ich doch noch fündig. Danke für deine Geduld.

                                          Screenshot (39).png

                                          Screenshot (40).png

                                          Ich feier schon meinen kleinen fortschritt, vielen Dank dafür.

                                          Ich finde völlig OK nur den nächsten Termin angezeigt zu bekommen ( Maximal 3 verschiedene Tonnen pro Abholtag).Ist auch viel übersichtlicher. Alle paar Wochen ist ein Zweiter Abholtag für Altpapier

                                          Ich hab dann auch gleich mal eine Datensicherung vom Iobroker gemacht , sicher ist sicher.

                                          Hast du noch Zeit und lust für etwas Feintuning?
                                          Wann holt er die Termine ab?
                                          Ist es ohne viel aufwand möglich das Iobroker Anzeigt " Morgen ....Tonne / Heute ...Tonne und wenn keine ansteht eben nichts anzeigt.
                                          In der json sind ja auch farbcodierungen angegeben . Die kann mann (also du) doch sicher nutzen um das Grafisch etwas aufzuwerten 👍

                                          Nur um zu zeigen das ich lernwillig bin.......Ich hab es geschafft die andere json Tabelle zu speisen und anzuzeigen. Stolz wie Bolle 😳
                                          Screenshot (41).png

                                          Danke

                                          DJMarc75 1 Reply Last reply Reply Quote 0
                                          • DJMarc75
                                            DJMarc75 @Karsten Schwab last edited by

                                            @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                                            Wann holt er die Termine ab?

                                            täglich um 00:30 Uhr. Kannst Du aber im Skript anpassen.

                                            @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                                            Ist es ohne viel aufwand möglich

                                            Nein, das muss man auch wieder per Skript lösen - da überleg ich mir am Wochenende was.

                                            @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                                            In der json sind ja auch farbcodierungen angegeben

                                            Nur für gerade und ungerade Zeilen, nicht inhaltsspezifisch, das geht nicht.

                                            @karsten-schwab sagte in Mymüll Visualizierung in VIS:

                                            Maximal 3 verschiedene Tonnen pro Abholtag

                                            Da musst Du im Widget den Punkt "Zeilenlimit" an Deine Bedürfnisse anpassen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            765
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            30
                                            1131
                                            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