NEWS
(Echte) Stau-Erkennung mit Bing
-
Okay und Danke. Aber da fehlt ja noch eine Menge, oder?
Was habe ich gemacht:
1.) Mit Meiner MS ID eingelogt, mir eine Route ausgew
ä
hlt, einen Bing Key erstellt (dazu musste ich diese Route erstellen).1a.) Mir die Routenstartpunkt und und Endpunkt kopiert.
2.) Node-Red installiert
3.) Den FLOW-Code http://www.iobroker.net/?page_id=57&lang=de kopiert.
4.) In Node-RED auf "Import Clipboard" gegeangen und den kopierten Text eingef
ü
gt.Darauf hin erhielt ich eine Grafik wie oben mit den ganzen Nodes.
4a.) Im Menu Workspace/Rename ausgew
ä
hlt und den Ganzem den Namen "BingMaps" gegeben. Im Reiter dieses Programmes (oder wie man das nennt) steht nun auch der Name BingMaps.5.) Dann im Node setConfig NUR meinen bing_key eingef
ü
gt.6.) Nun im Node defineRoutes
…
Im Beriech msg.routes
bei from: Die kopierten Texte meiner Bing-StartRoute reinkopiert.
ebenso bei to:
Den Namen noch angepasst: Home2Schule
Das Ganze, nur mit From und To getauscht, im n
ä
chsten Block {} gemacht, aber hier den Namen Schule2Home verwendet.Nun frage ich mich, ob ich das irgendwie speichern muss, da beim Schlie
ß
en des Browsers eine Warnmeldung kommt. Habe noch nie Node verwendet. Bei .vis muss man ja auch nichts speichern.7.) In .vis habe ich dann gem
ä
ß
deiner Info zuvor das Widget importiert. Ich habe einen "Rahmen" in der Anzeige8.) Nun l
ä
sst es sich vermuten, dass bei der Inhalt ID: ich mit der Auswahl meinen Node sehen m
ü
sste. Aber ich finde diesen nirgends. Liegt das am fehlenden Speichern in Punkt 6?Achso: Gem
ä
ß
http://www.iobroker.net/?page_id=166&lang=de ist bei mir KEIN eigener Node- Reiter in der Admin-Oberfl
ä
che! Ich kann aber bei den Instanzen auf Node-Red klicken und es
ö
ffnet sich ein eigener Browser-Tab.Gru
ß
,Fitti
-
So mal auf die schnelle von unterwegs:
Ä
nderungen bei node-red m
ü
ssen rechts oben mit deploy "gespeichert" werden.Sollte aber sp
ä
testens in der verlinkten Website stehen.Seit der letzten Version erscheinen die tabs nur noch auf Wunsch.
Dazu rechts oben auf admin (?) klicken und mit view die gew
ü
nschten tabs ausw
ä
hlen oder bestehende nicht gew
ü
nschte tabs mit dem jeweiligen x entfernen.Doku wird nach vollst
ä
ndigem Umbau angepasstGesendet von meinem Cynus T7 mit Tapatalk
-
Prima- jetzt habe ich den Node Reiter.
Wenn ich auf Deploy klicke, kommt eine kurze gr
ü
ne Meldung oben in der Mitte: Deploying succesfully. Sch
ö
n.

In .vis (habe auch noch einmal alles neu geladen) ich finde aber in der Auswahl "Inhalt ID" nicht diesen Node:


Dabei mus ich gestehen - ich habe keine Ahnung, ob es hier
ü
berhaupt sein m
ü
sste - f
ä
nde es aber logisch. -
Du musst keinen node finden, sondern die Datenpunkte, die der flow anlegt.
Dazu musst du den flow aber mindestens einmal gestartet haben.
Ich habe ihn nicht in Gebrauch, gehe aber davon aus, dass im trigger ein Zeitintervall drin steht.
Ansonsten kannst du ja im node-red output Fenster ansehen, ob es da Fehler gibt.
Gesendet von meinem Cynus T7 mit Tapatalk
-
Du musst keinen node finden, sondern die Datenpunkte, die der flow anlegt.
Dazu musst du den flow aber mindestens einmal gestartet haben. `
Keine Ahnung, wie ich einen Flow neu starte? Bei den Objekten? Siehe Frage unten.Ich meinte aber genau den Datenpunkt - jetzt, zwei Stunden sp
ä
ter, ohne das ich nur eine Taste in ioBroker gedr
ü
ckt hatte, ist der erste Eintrag traffic\Home2Schule sichtbar gewesen. Nach einem Refresh waren dann auch die anderen Eintr
ä
ge da:

Frage: Muss ich denn hier alle oder einen??? "Eintrag" die Historie aktivieren? Oder ist die nur f
ü
r rickshaw und
ä
hnlichem? (siehe Pfeil ganz rechts in der Grafik) - oder ist das das "Neustarten"?.

-
Im flow nennt sich der erste node (blau) Trigger.
Wenn du den durch Doppelklick
ö
ffnest steht da drin, was den flow startet.Wahrscheinlich ist dies ein Zeitintervall, das irgendwann deinen flow gestartet hat, was zum anlegen und f
ü
llen der variablen gef
ü
hrt hat.Die history musst du nur f
ü
r die Datenpunkte aktivieren, f
ü
r die du eine Historie haben willst, also wenn du sp
ä
ter einmal sehen willst, wie sich die stauzeiten im Laufe des Tages oder von Wochentag zu Wochentag oder, oder
…
...Die Uhr legt fest, ob der datenpunkt geloggt werden soll
Gesendet von meinem Cynus T7 mit Tapatalk
-
Prima und Danke!!!!
Im In ject Node (wurde hier vom Erzeuger mit Trigger beanannt) gibt es ja einen kleinen blauen Knopf/Button. Der startet dann neu den Flow. Sonst alle 10 Minuten.
Nun gab es Fehlermeldung im Debugger. Habe herausgefunden, dass die Sonderzeichen nicht bek
ö
mmlich waren. 
Nun sind auch beide Eintr
ä
ge ind den Objekten: Home2Schule und Schule2Home (ist
ü
brigens niht MEINE Schule :lol: 
Jetzt frage ich mich nur noch, warum im Editor alles angezeigt wird, jedoch nicht im echten View:

-
Nimm mal ein anderes Widget, z.B. basic - string und trag als ID die ID der Fahrzeit ein. `
<size size="85">__Jaja - fordere mich nur heraus
…
:shock: 
Hatte doch keine Idee, wie das geht. Aber mit eim bischen Testen und versuchen... :mrgreen:__</size>
Jup. hier geht es. Gr
ü
ner Rahmen ist der Basic-string.Der orange ist der metro - Tile String
Und warum geht es bei den anderen
…

578_2ter.png -
Hallo,
habe mal ein bischen weitergedacht:

*Fehler f
ü
hren nicht zum L
ö
schen der Datenpunkte*Eingabe der Stra
ß
ennamen/Adressen in Klartext*Zwischenpunkte/Wegpunkte m
ö
glich*Debugausgaben sinnvoll erweitert
[{"id":"a88491cd.577b7","type":"http request","name":"askBing","method":"GET","ret":"obj","url":"","x":436,"y":2346.9999389648438,"z":"58484835.a7b7b8","wires":[["4b2858cc.b4d7a8","d70d8ba3.28f278","fb724855.048db8"]]},{"id":"990145d0.66feb8","type":"function","name":"extractData","func":"/*\nreturns:\n1\. travelDurationTraffic in min\n2\. travelDuration in min\n3\. traveDelay in min\n4\. trafficJam boolean\n5\. trafficCongestion string\n6\. travelDistance in km\n7\. msg object (for debugging and return to the loop)\n*/\nvar travelDurationTraffic = Math.ceil(msg.payload.resourceSets[0].resources[0].travelDurationTraffic / 60);\nvar travelDuration = Math.ceil(msg.payload.resourceSets[0].resources[0].travelDuration / 60);\n\nvar shortname = msg.name+\":\"+msg.payload.resourceSets[0].resources[0].routeLegs[0].description+\"/\"+msg.payload.resourceSets[0].resources[0].travelDistance+\" km\";\n\nvar msgTraffic = [\n {\n topic: msg.topic_prefix + \".name\",\n payload: msg.name\n },\n {\n topic: msg.topic_prefix + \".travelDurationTraffic\",\n payload: travelDurationTraffic\n },\n { \n topic: msg.topic_prefix + \".travelDuration\",\n payload: travelDuration\n },\n { \n topic: msg.topic_prefix + \".travelDelay\",\n payload: travelDurationTraffic - travelDuration\n },\n { \n topic: msg.topic_prefix + \".trafficJam\",\n payload: (travelDurationTraffic - travelDuration >= msg.threshold)\n },\n { \n topic: msg.topic_prefix + \".trafficCongestion\",\n payload: msg.payload.resourceSets[0].resources[0].trafficCongestion\n },\n { \n topic: msg.topic_prefix + \".travelDistance\",\n payload: msg.payload.resourceSets[0].resources[0].travelDistance\n },\n { \n topic: msg.topic_prefix + \".travelDescription\",\n payload: msg.payload.resourceSets[0].resources[0].routeLegs[0].description\n }\n];\n\nreturn [shortname,msgTraffic,msg.payload.resourceSets[0].resources[0].routeLegs,msg];","outputs":"4","noerr":0,"x":273.5555419921875,"y":2642.1110229492188,"z":"58484835.a7b7b8","wires":[["6f13fc3f.90ec04"],["c25038ad.3dafc8","639eeea6.9c611"],["4cb75b47.b348a4"],["154f9236.eab06e"]]},{"id":"32caf48f.cd350c","type":"inject","name":"Trigger","topic":"","payload":"","payloadType":"date","repeat":"600","crontab":"","once":false,"x":157.88883209228516,"y":2091.0000133514404,"z":"58484835.a7b7b8","wires":[["9bc04bf1.643fb8"]]},{"id":"38e4e608.c71b1a","type":"function","name":"defineRoutes","func":"/*\nDefine routes:\nfrom: starting address, encode spaces with %20\nto: destination address, encode spaces with %20\nthreshold: in minutes, if duration with traffic is larger than threshold, set trafficJam to true\nname: name :-)\n*/\n\nmsg.routes = [\n {\n way: \".1='Horsterfeld 1,31542 Bad Nenndorf'&\" +\n \".2='Laatzener Str. 1,30539 Hannover'\",\n threshold: 5,\n name: 'Home2Office'\n },\n {\n way: \".1='Horsterfeld 1,31542 Bad Nenndorf'&\" +\n \"via.2='Mindener Straße 4, 30890 Nordgoltern'&\" +\n \"via.3='Landwehrkreisel / Frankfurter Allee, 30459 Hannover'&\" +\n \".4='Laatzener Str. 1,30539 Hannover'\",\n threshold: 5,\n name: 'Home2OfficeLandstr'\n },\n {\n way: \".1='Horsterfeld 1,31542 Bad Nenndorf'&\" +\n \"via.2='Autobahnkreuz Hannover-Buchholz, 30659 Hannover'&\" +\n \".3='Laatzener Str. 1,30539 Hannover'\",\n threshold: 5,\n name: 'Home2OfficeA2'\n },\n {\n way: \".1='Laatzener Str. 1,30539 Hannover'&\" +\n \"via.2='Landwehrkreisel / Frankfurter Allee, 30459 Hannover'&\" +\n \"via.3='Mindener Straße 4, 30890 Nordgoltern'&\" +\n \".4='Horsterfeld 1,31542 Bad Nenndorf'\",\n threshold: 5,\n name: 'Office2HomeLandstr'\n },\n {\n way: \".1='Laatzener Str. 1,30539 Hannover'&\" +\n \".2='Horsterfeld 1,31542 Bad Nenndorf'\",\n threshold: 5,\n name: 'Office2Home'\n },\n {\n way: \".1='Laatzener Str. 1,30539 Hannover'&\" +\n \"via.2='A37, 30655 Gross Buchholz'&\" +\n \".3='Horsterfeld 1,31542 Bad Nenndorf'\",\n threshold: 5,\n name: 'Office2HomeA2'\n }\n];\n\nreturn msg;","outputs":1,"noerr":0,"x":494.88897705078125,"y":2091.000015258789,"z":"58484835.a7b7b8","wires":[["b095a02e.4f6a6"]]},{"id":"bf34f55f.40cb08","type":"function","name":"prepareIteration","func":"// msg.method = \"GET\";\nmsg.url = encodeURI(\"http://dev.virtualearth.net/REST/v1/Routes?\" + msg.payload.way + \"&optimize=timeWithTraffic&key=\" + msg.config.bing_key);\nmsg.topic_prefix = msg.config.topic_prefix + msg.payload.name;\nmsg.name = msg.payload.name; \nmsg.threshold = msg.payload.threshold;\nreturn msg;","outputs":1,"noerr":0,"x":274.22222900390625,"y":2347.5554809570312,"z":"58484835.a7b7b8","wires":[["a88491cd.577b7","4fcf3346.b030cc"]]},{"id":"9bc04bf1.643fb8","type":"function","name":"setConfig","func":"msg.config = {\n bing_key: \"AAABBBCCC\",\n topic_prefix: \"node-red.0.traffic.\"\n};\nreturn msg;","outputs":1,"noerr":0,"x":320.11106872558594,"y":2091.5555572509766,"z":"58484835.a7b7b8","wires":[["38e4e608.c71b1a","1310a9a2.ecef56"]]},{"id":"b095a02e.4f6a6","type":"function","name":"loopRoutes","func":"context.routes = context.routes || msg.routes;\n\n// iterate through all the routes\nif (context.routes.length > 0) {\n msg.payload = context.routes.shift();\n return [null, msg];\n}\n\n// Reset routes-context, otherwise we immediately stop in the next run\ncontext.routes = false;\n// we are done with the loop\nreturn [msg, null];","outputs":"2","noerr":0,"x":184.6666259765625,"y":2285.22216796875,"z":"58484835.a7b7b8","wires":[[],["bf34f55f.40cb08"]]},{"id":"1310a9a2.ecef56","type":"debug","name":"","active":false,"console":"false","complete":"true","x":704.6666259765625,"y":2211.22216796875,"z":"58484835.a7b7b8","wires":[]},{"id":"c25038ad.3dafc8","type":"ioBroker out","name":"toIoBroker","topic":"","ack":"true","autoCreate":"true","x":639.6666259765625,"y":2546.22216796875,"z":"58484835.a7b7b8","wires":[]},{"id":"639eeea6.9c611","type":"debug","name":"Variablen","active":true,"console":"false","complete":"payload","x":699.6666259765625,"y":2485.22216796875,"z":"58484835.a7b7b8","wires":[]},{"id":"3759620e.c8a69e","type":"catch","name":"","x":692.6666259765625,"y":2093.2222290039062,"z":"58484835.a7b7b8","wires":[["1310a9a2.ecef56"]]},{"id":"39a69e5d.c65962","type":"comment","name":"Define your config and routes here. ","info":"Define your config and routes here.","x":398.6666259765625,"y":2054.2222290039062,"z":"58484835.a7b7b8","wires":[]},{"id":"4fcf3346.b030cc","type":"debug","name":"WEB","active":false,"console":"false","complete":"url","x":687,"y":2259,"z":"58484835.a7b7b8","wires":[]},{"id":"4b2858cc.b4d7a8","type":"debug","name":"Answer","active":false,"console":"false","complete":"true","x":697,"y":2313,"z":"58484835.a7b7b8","wires":[]},{"id":"4cb75b47.b348a4","type":"debug","name":"Legs","active":false,"console":"false","complete":"true","x":630,"y":2610.9999389648438,"z":"58484835.a7b7b8","wires":[]},{"id":"154f9236.eab06e","type":"delay","name":"Pause","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":349,"y":2519,"z":"58484835.a7b7b8","wires":[["b095a02e.4f6a6"]]},{"id":"d70d8ba3.28f278","type":"switch","name":"Error?","property":"payload.statusCode","rules":[{"t":"neq","v":"200"},{"t":"else"}],"checkall":"true","outputs":2,"x":157,"y":2517,"z":"58484835.a7b7b8","wires":[["154f9236.eab06e"],["990145d0.66feb8"]]},{"id":"fb724855.048db8","type":"debug","name":"StatusCode","active":false,"console":"false","complete":"payload.statusCode","x":676,"y":2357,"z":"58484835.a7b7b8","wires":[]},{"id":"7225c9a2.8dda38","type":"catch","name":"","x":136,"y":2731,"z":"58484835.a7b7b8","wires":[["990145d0.66feb8"]]},{"id":"6f13fc3f.90ec04","type":"debug","name":"Route","active":true,"console":"false","complete":"true","x":697,"y":2439,"z":"58484835.a7b7b8","wires":[]}]extractData:
/* returns: 1\. travelDurationTraffic in min 2\. travelDuration in min 3\. traveDelay in min 4\. trafficJam boolean 5\. trafficCongestion string 6\. travelDistance in km 7\. msg object (for debugging and return to the loop) */ var travelDurationTraffic = Math.ceil(msg.payload.resourceSets[0].resources[0].travelDurationTraffic / 60); var travelDuration = Math.ceil(msg.payload.resourceSets[0].resources[0].travelDuration / 60); var shortname = msg.name+":"+msg.payload.resourceSets[0].resources[0].routeLegs[0].description+"/"+msg.payload.resourceSets[0].resources[0].travelDistance+" km"; var msgTraffic = [ { topic: msg.topic_prefix + ".name", payload: msg.name }, { topic: msg.topic_prefix + ".travelDurationTraffic", payload: travelDurationTraffic }, { topic: msg.topic_prefix + ".travelDuration", payload: travelDuration }, { topic: msg.topic_prefix + ".travelDelay", payload: travelDurationTraffic - travelDuration }, { topic: msg.topic_prefix + ".trafficJam", payload: (travelDurationTraffic - travelDuration >= msg.threshold) }, { topic: msg.topic_prefix + ".trafficCongestion", payload: msg.payload.resourceSets[0].resources[0].trafficCongestion }, { topic: msg.topic_prefix + ".travelDistance", payload: msg.payload.resourceSets[0].resources[0].travelDistance }, { topic: msg.topic_prefix + ".travelDescription", payload: msg.payload.resourceSets[0].resources[0].routeLegs[0].description } ]; return [shortname,msgTraffic,msg.payload.resourceSets[0].resources[0].routeLegs,msg];prepareIteration:
// msg.method = "GET"; msg.url = encodeURI("http://dev.virtualearth.net/REST/v1/Routes?" + msg.payload.way + "&optimize=timeWithTraffic&key=" + msg.config.bing_key); msg.topic_prefix = msg.config.topic_prefix + msg.payload.name; msg.name = msg.payload.name; msg.threshold = msg.payload.threshold; return msg; -
Bei mir wurde auch meistens keine Fahrzeit angezeigt.
Zur Zeit habe ich keine Icons, anscheinend ein Problem mit den metro-widgets.
Metro Widgets sind wieder da.
Die Fahrzeit wird bei mir aber in vis auch nicht angezeigt, nur im Editor. `
Hallo,
das kannst du mit einen kleinen Workaraound umgehen:
Fahrzeit: {node-red.0.traffic.Home2Office.travelDurationTraffic}Und daf
ü
r die ObjectId darunter freilassen -
Hallo,
f
ü
r eine einfache json Darstellung:

/* returns: 1\. travelDurationTraffic in min 2\. travelDuration in min 3\. traveDelay in min 4\. trafficJam boolean 5\. trafficCongestion string 6\. travelDistance in km 7\. msg object (for debugging and return to the loop) */ var travelDurationTraffic = Math.ceil(msg.payload.resourceSets[0].resources[0].travelDurationTraffic / 60); var travelDuration = Math.ceil(msg.payload.resourceSets[0].resources[0].travelDuration / 60); var shortname = msg.name+":"+msg.payload.resourceSets[0].resources[0].routeLegs[0].description+"/"+msg.payload.resourceSets[0].resources[0].travelDistance+" km"; var addtime = travelDurationTraffic - travelDuration; var json = '['; json = json + '{"Title":"'+msg.name+'","Value":"'+msg.payload.resourceSets[0].resources[0].routeLegs[0].description+'"}'; json = json + ',{"Title":"Dauer","Value":"'+travelDuration+' + '+addtime+' = '+travelDurationTraffic+'"}'; //json = json + ',{"Title":"Verzoegerung","Value":"'+travelDurationTraffic - travelDuration+'"}'; json = json + ',{"Title":"Distanz","Value":"'+msg.payload.resourceSets[0].resources[0].travelDistance+'"}'; //if (travelDurationTraffic - travelDuration >= msg.threshold) { // json = json + ',{"Title":"Stau","Value":"ja"}'; //} json = json + ']' var msgTraffic = [ { topic: msg.topic_prefix + ".name", payload: msg.name }, { topic: msg.topic_prefix + ".travelDurationTraffic", payload: travelDurationTraffic }, { topic: msg.topic_prefix + ".travelDuration", payload: travelDuration }, { topic: msg.topic_prefix + ".travelDelay", payload: addtime }, { topic: msg.topic_prefix + ".trafficJam", payload: (addtime >= msg.threshold) }, { topic: msg.topic_prefix + ".trafficCongestion", payload: msg.payload.resourceSets[0].resources[0].trafficCongestion }, { topic: msg.topic_prefix + ".travelDistance", payload: msg.payload.resourceSets[0].resources[0].travelDistance }, { topic: msg.topic_prefix + ".travelDescription", payload: msg.payload.resourceSets[0].resources[0].routeLegs[0].description }, { topic: msg.topic_prefix + ".json", payload: json } ]; return [shortname,msgTraffic,msg.payload.resourceSets[0].resources[0].routeLegs,msg]; -
Super Arbeit!
Habe mich direkt begeistert darauf gest
ü
rzt, bekomme es leider nur nicht zum Laufen:// msg.method = "GET"; msg.url = encodeURI("http://dev.virtualearth.net/REST/v1/Routes?" + msg.payload.way + "&optimize=timeWithTraffic&key=" + msg.config.bing_key); msg.topic_prefix = msg.config.topic_prefix + msg.payload.name; msg.name = msg.payload.name; msg.threshold = msg.payload.threshold; return msg;Meinen Bing-Key hab ich eingetragen und sonst keine
Ä
nderungen vorgenommen. -
Hallo,
wo hast du deinen bing-key eingetragen?
Schau mal in Debug, welcher Fehler kommt (wo).
Gestartet wird links oben mit den kleinen Knopf.
Ausgaben kannst du aktivieren, indem du die gr
ü
nen Debug Meldungen aktivierst.Am besten von oben nach unten.
Diese ansehen und ggf. posten.
-
-
Hi,
ich bekomme eine Payload message zur
ü
ck. Den API Key habe ich auf der BING page erneuert, allerdings habe ich keine applikations URL angegeben nur die Applikation iobroker.hast du einen tipp f
ü
r mich was ich falsch mache ?{ "topic": "", "payload": 1440243954834, "_msgid": "50945b99.af6ba4", "config": { "bing_key": "123": "node-red.0.traffic." } }Edit: war dumm, denn ich hatte die Ausg
ä
nge nicht alle aktiviert. Nachdem ich das gemacht habe bekomme ich einen anderen Fehler:"waypoint: Parameter is missing"
{ "topic": "", "payload": { "authenticationResultCode": "ValidCredentials", "brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png", "copyright": "Copyright © 2015 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.", "errorDetails": [ "One or more parameters are not valid.", "waypoint: Parameter is missing" ], "resourceSets": [], "statusCode": 400, "statusDescription": "Bad Request", "traceId": "159e3bb3ee154f598b5130616e6775f3|DB40051734|1.0.0.0|" }, "_msgid": "e58ef93c.1a7108", "config": { "bing_key": "1233." }, "routes": [ { "way": ".1='Horsterfeld 1,31542 Bad Nenndorf'&via.2='Mindener Straße 4, 30890 Nordgoltern'&via.3='Landwehrkreisel / Frankfurter Al .... -
Ok,
es gibt auch noch:
{ way: "wayPoint.1='Horsterfeld 1,31542 Bad Nenndorf'&" + "viaWayPoint.2='Mindener Straße 4, 30890 Nordgoltern'&" + "viaWayPoint.3='Landwehrkreisel / Frankfurter Allee, 30459 Hannover'&" + "wayPoint.4='Laatzener Str. 1,30539 Hannover'", threshold: 5, name: 'Home2OfficeLandstr' },falls man ihn zwingen m
ö
chte eine Route zu nehmen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
