NEWS
Mymüll Visualizierung in VIS
-
@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)
Nun muss ich diese nur noch visualizieren. Hab aber keine Idee wie das geht ... -
@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! -
@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....
-
@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&city_id=2316&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
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
-
@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 . -
-
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
-
@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.
-
@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 -
@karsten-schwab ```
code_text
-
-
@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" },
-
@djmarc75 hallo
knapp daneben geklickt ist auch vorbei .....
Ich wusste nicht wo die dort eingetragen sind .
Hurra , und vielen dank bis jetzt -
@djmarc75
Hurra , Ich habe ein Widget gefunden das deinem am nächsten kommt und erfolgreich die Kopfzeilen geändert.Mein Widget sieht allerdings etwas anders aus als deins!
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.
-
@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:
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
-
@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)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
-
@karsten-schwab Ob Du mal bitte im VIS Editor nachschauen würdest ?
So bringt das hier nix ! -
@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.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 aufzuwertenNur um zu zeigen das ich lernwillig bin.......Ich hab es geschafft die andere json Tabelle zu speisen und anzuzeigen. Stolz wie Bolle
Danke
-
@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.
-
@djmarc75
Hi
Sorry das ich mich hier länger nicht gemeldet habe. Ich habe eine möglichkeit gefunden mir die Mülldaten in einen Kalender zu packen und mir das ganz ordentlich anzeigen zu lassen.
Ich wollte mich sehr herzlich für deine Hilfe bedanken.
Ich werde diese in zukunft wohl noch mal in anspruch nehmen wollen.