Wir sollten Reden

… viel mehr direkt, von Angesicht zu Angesicht und viel öfter.

Wir verbringen heute viel zu viel Zeit vor Bildschirmen und sonstigen technischen Geräten, anstatt direkt in Kontakt zu kommen.

Unsere Aufmerksamkeit wird von Dingen in Anspruch genommen, die uns zwar für die Zeit, in der wir sie benutzen, beschäftigen und sich gut anfühlen, die uns aber, sobald wir sie weglegen, in einer „Leere“ zurücklassen.

Was wir seit Jahren nicht mehr auf dem Schirm haben: Wir haben weniger echten menschlichen Kontakt. Unsere Realitäten driften auseinander. Weil wir weniger gemeinsame Erlebnisse und Reflexionen haben.

Es ist ein schleichender Prozess, der in unseren Köpfen als degenerativer Abbau unbemerkt stattfindet.

Wir werden unsicher. Wir brauchen mehr Geräte und Bildschirme. Wir brauchen noch mehr Input. Aus Kanälen, aus Entfernung, aus sicherer Distanz.

Dabei:

Reden hilft. Reden bringt zusammen.

Reden ist zweifellos das der effektivsten Mittel, um zum Beispiel:

  • das eigene Gehalt neu zu verhandeln
  • Konflikte zu auszusprechen und zu lösen
  • Partner zu finden
  • den Weg zu erfragen
  • persönliche Ziel zu erreichen
  • UND, um sich nachhaltig besser zu fühlen
  • um neue echte, fühlbare Inspiration zu finden
  • um, Feedback zu kriegen
  • um sich weiterzuentwickeln …

Ich habe baue mir eine neue Existenz auf, die Menschen hilft, mehr Qualität und Erfolg in ihr Leben zu bringen. Die genau das Gegenteil von Bildschirmzeit ist. Denn es geht um Redezeit, um Kommunikation, Wirkung, und … Menschen:

https://reden.plus

Brief an die Sparda-Bank

Sehr geehrte Damen und Herren,

entschuldigen Sie – aber das ist eine Vollkatastrophe. Die komplette Kundenkommunikation und der Umgang, auch das Marketing.
Ich bin als IT’ler wirklich technisch versiert und betreue Rechenzentren. Ich weiß auch, wie man mit Kunden umgeht und weiß auch, wie man mit Feedback umgehen sollte – bevor man ganz unbemerkt plötzlich komplett vom Markt verschwindet und nachher rumjammert: „Konnte doch keiner vorhersehen“.

Der komplette Auftritt, von der Umsetzung der Internet-Seite (orange Gift-Wolke über der Stadt), der Mobile-Bankingseiten und der Apps – samt Zweitfaktor – sorry, schlimmer gehts kaum. Filialen werden geschlossen, Eingabeformulare hinter FAQs „versteckt“, Telefon-Computer…
Ich bin nun nach langer Suche erst zu diesem Eingabefeld gelangt, in dem Sie nun gerade meinen Frust abbekommen. Entschuldigen Sie dies, aber das ist wertvolles Feedback, für das viele Firmen teure Unternehmensberater ins Land schicken, um herauszubekommen, was denn der Kunde überhaupt braucht. Ich opfere hier gerade wertvolle Lebenszeit.

Der Auslöser:
Ich blicke nicht mehr durch. Nachdem ich (gefühlt) vor Kurzem erst eine neue App samt Zeitfaktor-App installieren musste, werde ich nun erneut aufgefordert, wieder eine neue App zu installieren. Bei all den unterschiedlichen Keys, PINs, TANs, Authentification-Apps, Logins und Aliases, ist nun mein kompletter Zugang gesperrt und ich befinde mich in einer Endlosschleife.
Wie soll das eigentlich erst jemand verstehen, der nicht seit 15 Jahren IT’ler ist? Security by obscurity?

Sie dürfen, nein sollten das ganz nach oben leiten in die Geschäftsführung. Denn da wurde jemand offensichtlich ganz schlecht beraten.

KundenNr, KontoNr, IBAN, Internet-Banking-PIN, Kartenpin, Masterpasswort für die App, Paydirekt name, Login Alias, Sparda-NetKey, Secure-Go App-Kennwort, Secure-Go App-ID, SpardaSecure-Go (Freigabecode), SpardaBanking+ Kennwort, SpardaBanking+ PIN,

und nun: SpardaBanking App… ???

Und so einem Unternehmen sollte man noch weiteres Geld anvertrauen? Ehrlich? Wenn sich die Finanz-Branche wundert, dass Kunden ihr Geld mittlerweile lieber unters Kopfkissen packen, anstatt es einer Bank zu leihen, dann hat das Gründe – für die die Sparda-Bank beste Anreize liefert.

Sie dürfen davon ausgehen, dass ich nur einer von Hunderten oder Tausenden bin, der so gefrustet ist und nur auf eine bessere Alternative wartet. BWL Vorlesung – Grundlagen. Ich schreibe es Ihnen wenigstens.

Erkläre mir mal jemand, was jetzt Stand der Dinge ist, was für eine App jetzt aktuell ist und wie lange die hält. Oder muss ich in 6 Monaten wieder etwas Neues installieren, zwischen einem neuen und alten Online-Banking-Webinterface unterscheiden (beide sind „unergononisch“).

Aber zuerst benötige ich wieder Online-Zugriff auf mein Konto – bitte!

Mit freundlichen Grüßen

Photovoltaik Werte einer Kostal Piko in Node-Red

Hier ist ein „Flow“, um die Werte eines Photovoltaik-Inverters von Kostal per Node-Red auszulesen und zusätzlich als MQTT-Nachrichten zu versenden.

Der Hintergrund ist, dass die Anlage nicht per SNMP oder ähnlich gängigen Verfahren auszulesen war, sondern nur über eine Webseite die Werte anzeigte. Zwar gibt es eine Software, aber die hat meine Wünsche nicht wirklich erfüllt.

Mit diesem Flow ist es möglich, die aktuelle Leistung einer PV-Anlage aktiv alle z.B. 20 Sekunden abzufragen, und die gelieferten Werte als Diagramm im Dashboard darzustellen.

Node-Red Flow
Node-Red Flow

Zur Langzeitvisualisierung versende ich die Werte zusätzlich an ein weiteres System (Zabbix). Das sieht dann so aus:

Zabbix Visualisierung

Und hier kommt der „Flow“-Code:

[
{
"id": "347111747d6d4c72",
"type": "tab",
"label": "Kostal Pico",
"disabled": false,
"info": "",
"env": []
},
{
"id": "4ad0e46.7796d1c",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse http",
"func": "acPowerCurrent = parseInt(msg.payload[14].replace(/([^a-z0-9]+)/gi, ''));\ntotalEnergy = parseInt(msg.payload[17].replace(/([^A-Z0-9]+)/gi, ''));\ndailyEnergy = parseInt(msg.payload[26].replace(/([^a-z0-9]+)/gi, ''))/100;\nstring1voltage = parseInt(msg.payload[56].replace(/([^a-z0-9]+)/gi, ''));\nstring1current = parseInt(msg.payload[65].replace(/([^a-z0-9]+)/gi, ''))/100;\nstring2voltage = parseInt(msg.payload[82].replace(/([^a-z0-9]+)/gi, ''));\nstring2current = parseInt(msg.payload[91].replace(/([^a-z0-9]+)/gi, ''))/100;\nline1voltage = parseInt(msg.payload[59].replace(/([^a-z0-9]+)/gi, ''));\nline1power = parseInt(msg.payload[68].replace(/([^a-z0-9]+)/gi, ''));\nline2voltage = parseInt(msg.payload[85].replace(/([^a-z0-9]+)/gi, ''));\nline2power = parseInt(msg.payload[94].replace(/([^a-z0-9]+)/gi, ''));\nline3voltage = parseInt(msg.payload[111].replace(/([^a-z0-9]+)/gi, ''));\nline3power = parseInt(msg.payload[120].replace(/([^a-z0-9]+)/gi, ''));\nstatus = msg.payload[32].replace(/\r?\n|\r/g, '').replace(/\s/g, \"\");\n\n\nif (Number.isNaN(acPowerCurrent) === true){\n acPowerCurrent = 0;\n}\nif (Number.isNaN(totalEnergy) === true){\n totalEnergy = -1;\n}\nif (Number.isNaN(dailyEnergy) === true){\n dailyEnergy = 0;\n}\nif (Number.isNaN(string1voltage) === true){\n string1voltage = 0;\n}\nif (Number.isNaN(string1current) === true){\n string1current = 0;\n}\nif (Number.isNaN(string2voltage) === true){\n string2voltage = 0;\n}\nif (Number.isNaN(string2current) === true){\n string2current = 0;\n}\nif (Number.isNaN(line1voltage) === true){\n line1voltage = 0;\n}\nif (Number.isNaN(line1power) === true){\n line1power = 0;\n}\nif (Number.isNaN(line2voltage) === true){\n line2voltage = 0;\n}\nif (Number.isNaN(line2power) === true){\n line2power = 0;\n}\nif (Number.isNaN(line3voltage) === true){\n line3voltage = 0;\n}\nif (Number.isNaN(line3power) === true){\n line3power = 0;\n}\n\nmsg.payload = {\n \"acPowerCurrent\" : acPowerCurrent,\n \"totalEnergy\" : totalEnergy,\n \"dailyEnergy\" : dailyEnergy,\n \"status\" : status,\n \"string1voltage\" : string1voltage,\n \"string1current\" : string1current,\n \"string2voltage\" : string2voltage,\n \"string2current\" : string2current,\n \"line1voltage\" : line1voltage,\n \"line1power\" : line1power,\n \"line2voltage\" : line2voltage,\n \"line2power\" : line2power,\n \"line3voltage\" : line3voltage,\n \"line3power\" : line3power\n}\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 590,
"y": 40,
"wires": [
[
"34e425ddfbd52922",
"851d74df4b8af250",
"a0f4b6bc546a5feb",
"6f7347f07dbaddbc",
"debfb65e018929b6",
"796c0ba818f32273",
"4d2581af083ac9fa",
"f83bdf7d776677fd",
"bb682b4f55ea5261",
"0fc320415691c33b",
"c242a15391c6e138",
"cb1f12452ef3f638",
"b1ccbcd5cf01096d"
]
]
},
{
"id": "fd1711f2.7e7b4",
"type": "http request",
"z": "347111747d6d4c72",
"name": "kostal",
"method": "GET",
"ret": "txt",
"paytoqs": "ignore",
"url": "http://192.168.1.2/index.fhtml",
"tls": "",
"persist": false,
"proxy": "",
"authType": "basic",
"senderr": false,
"credentials": {},
"x": 260,
"y": 40,
"wires": [
[
"3f445786.6a93b8"
]
]
},
{
"id": "3f445786.6a93b8",
"type": "html",
"z": "347111747d6d4c72",
"name": "",
"property": "payload",
"outproperty": "payload",
"tag": "td",
"ret": "text",
"as": "single",
"x": 410,
"y": 40,
"wires": [
[
"4ad0e46.7796d1c",
"f3549090d79f4c9c",
"ac418f3bb6f53c8c",
"e40d0ff0542d8491",
"eb1ef10bd2d98a04",
"aa0fd29746e7f82d",
"6bc46f3e373ea374",
"01fd97e66dd1e7ed",
"49d7fbfce0853df5",
"b749aec74297da98",
"1f90685264d36a3b",
"32d7bb0afd1faeb5",
"37e5e4eb0f275f2d",
"4ec5b28516254e78"
]
]
},
{
"id": "b32e7821.c1dc78",
"type": "inject",
"z": "347111747d6d4c72",
"name": "20 sec",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payloadType": "date",
"x": 90,
"y": 40,
"wires": [
[
"fd1711f2.7e7b4"
]
]
},
{
"id": "bf48b05b907a3b46",
"type": "debug",
"z": "347111747d6d4c72",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 270,
"y": 100,
"wires": []
},
{
"id": "34e425ddfbd52922",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "c8c536ef38e613a8",
"order": 3,
"width": 0,
"height": 0,
"name": "",
"label": "GesamtEnergie",
"format": "{{msg.payload.totalEnergy}}",
"layout": "row-spread",
"className": "",
"x": 1080,
"y": 40,
"wires": []
},
{
"id": "851d74df4b8af250",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "c8c536ef38e613a8",
"order": 5,
"width": 0,
"height": 0,
"name": "",
"label": "aktuelle AC-Leistung",
"format": "{{msg.payload.acPowerCurrent}}",
"layout": "row-spread",
"className": "",
"x": 1100,
"y": 120,
"wires": []
},
{
"id": "cb1f12452ef3f638",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "c8c536ef38e613a8",
"order": 4,
"width": 0,
"height": 0,
"name": "",
"label": "TagesEnergie",
"format": "{{msg.payload.dailyEnergy}}",
"layout": "row-spread",
"className": "",
"x": 1070,
"y": 80,
"wires": []
},
{
"id": "a0f4b6bc546a5feb",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "0816668bf0491bd9",
"order": 1,
"width": 0,
"height": 0,
"name": "",
"label": "string1voltage",
"format": "{{msg.payload.string1voltage}}",
"layout": "row-spread",
"className": "",
"x": 1080,
"y": 160,
"wires": []
},
{
"id": "debfb65e018929b6",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "0816668bf0491bd9",
"order": 3,
"width": 0,
"height": 0,
"name": "",
"label": "string2voltage",
"format": "{{msg.payload.string2voltage}}",
"layout": "row-spread",
"className": "",
"x": 1080,
"y": 240,
"wires": []
},
{
"id": "6f7347f07dbaddbc",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "0816668bf0491bd9",
"order": 2,
"width": 0,
"height": 0,
"name": "",
"label": "string1current",
"format": "{{msg.payload.string1current}}",
"layout": "row-spread",
"className": "",
"x": 1080,
"y": 200,
"wires": []
},
{
"id": "796c0ba818f32273",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "0816668bf0491bd9",
"order": 4,
"width": 0,
"height": 0,
"name": "",
"label": "string2current",
"format": "{{msg.payload.string2current}}",
"layout": "row-spread",
"className": "",
"x": 1080,
"y": 280,
"wires": []
},
{
"id": "b1ccbcd5cf01096d",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "2e650c287c8977c6",
"order": 1,
"width": 0,
"height": 0,
"name": "",
"label": "line1voltage",
"format": "{{msg.payload.line1voltage}}",
"layout": "row-spread",
"className": "",
"x": 1070,
"y": 320,
"wires": []
},
{
"id": "f83bdf7d776677fd",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "2e650c287c8977c6",
"order": 3,
"width": 0,
"height": 0,
"name": "",
"label": "line2voltage",
"format": "{{msg.payload.line2voltage}}",
"layout": "row-spread",
"className": "",
"x": 1070,
"y": 400,
"wires": []
},
{
"id": "4d2581af083ac9fa",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "2e650c287c8977c6",
"order": 2,
"width": 0,
"height": 0,
"name": "",
"label": "line1power",
"format": "{{msg.payload.line1power}}",
"layout": "row-spread",
"className": "",
"x": 1070,
"y": 360,
"wires": []
},
{
"id": "bb682b4f55ea5261",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "2e650c287c8977c6",
"order": 4,
"width": 0,
"height": 0,
"name": "",
"label": "line2power",
"format": "{{msg.payload.line2power}}",
"layout": "row-spread",
"className": "",
"x": 1070,
"y": 440,
"wires": []
},
{
"id": "0fc320415691c33b",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "2e650c287c8977c6",
"order": 5,
"width": 0,
"height": 0,
"name": "",
"label": "line3voltage",
"format": "{{msg.payload.line3voltage}}",
"layout": "row-spread",
"className": "",
"x": 1070,
"y": 480,
"wires": []
},
{
"id": "c242a15391c6e138",
"type": "ui_text",
"z": "347111747d6d4c72",
"group": "2e650c287c8977c6",
"order": 6,
"width": 0,
"height": 0,
"name": "",
"label": "line3power",
"format": "{{msg.payload.line3power}}",
"layout": "row-spread",
"className": "",
"x": 1070,
"y": 520,
"wires": []
},
{
"id": "9e8331d8f24e5508",
"type": "ui_chart",
"z": "347111747d6d4c72",
"name": "",
"group": "c8c536ef38e613a8",
"order": 2,
"width": 0,
"height": 0,
"label": "TagesEnergie",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "12",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 830,
"y": 180,
"wires": [
[]
]
},
{
"id": "060a6f4f7709d212",
"type": "ui_chart",
"z": "347111747d6d4c72",
"name": "",
"group": "c8c536ef38e613a8",
"order": 1,
"width": 0,
"height": 0,
"label": "GesamtEnergie",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": 1,
"removeOlderPoints": "",
"removeOlderUnit": "604800",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 840,
"y": 140,
"wires": [
[]
]
},
{
"id": "f3549090d79f4c9c",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse totalEnergy",
"func": "totalEnergy = parseInt(msg.payload[17].replace(/([^A-Z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(totalEnergy) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = totalEnergy\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 260,
"wires": [
[
"060a6f4f7709d212",
"5d7fd7bd61272bf3"
]
]
},
{
"id": "ac418f3bb6f53c8c",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse dailyEnergy",
"func": "dailyEnergy = parseInt(msg.payload[26].replace(/([^a-z0-9]+)/gi, ''))/100;\n\n\nif (Number.isNaN(dailyEnergy) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = dailyEnergy\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 300,
"wires": [
[
"9e8331d8f24e5508",
"b0d1ee8efbccf83c"
]
]
},
{
"id": "e40d0ff0542d8491",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse acPowerCurrent",
"func": "acPowerCurrent = parseInt(msg.payload[14].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(acPowerCurrent) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = acPowerCurrent\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 360,
"y": 340,
"wires": [
[
"6c98dadd8dfa1b2b",
"98b85716012ff0f1"
]
]
},
{
"id": "6c98dadd8dfa1b2b",
"type": "ui_chart",
"z": "347111747d6d4c72",
"name": "",
"group": "c8c536ef38e613a8",
"order": 2,
"width": 0,
"height": 0,
"label": "aktuelle Leistung",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "12",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 850,
"y": 220,
"wires": [
[]
]
},
{
"id": "98b85716012ff0f1",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/acPowerCurrent",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 640,
"y": 340,
"wires": []
},
{
"id": "5d7fd7bd61272bf3",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/totalEnergy",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 620,
"y": 260,
"wires": []
},
{
"id": "b0d1ee8efbccf83c",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/dailyEnergy",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 620,
"y": 300,
"wires": []
},
{
"id": "68f495560987754b",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/string1voltage",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 630,
"y": 380,
"wires": []
},
{
"id": "e33e75fdf4b82aac",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/string1current",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 630,
"y": 420,
"wires": []
},
{
"id": "8d9268aef7b8eba8",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/string2voltage",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 630,
"y": 460,
"wires": []
},
{
"id": "960f3f76488c3e98",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/string2current",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 630,
"y": 500,
"wires": []
},
{
"id": "c5ccb0f701055bc1",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/line1voltage",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 630,
"y": 540,
"wires": []
},
{
"id": "f7dad6605a58f5c6",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/line1power",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 620,
"y": 580,
"wires": []
},
{
"id": "7d0a3ec6865e297e",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/line2voltage",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 630,
"y": 620,
"wires": []
},
{
"id": "7f9fed855e70fed7",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/line2power",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 620,
"y": 660,
"wires": []
},
{
"id": "771b4926c3e76ab5",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/line3voltage",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 630,
"y": 700,
"wires": []
},
{
"id": "6b3309a879659da4",
"type": "mqtt out",
"z": "347111747d6d4c72",
"name": "",
"topic": "tele/photovoltaic/line3power",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "634cbb5f.887d54",
"x": 620,
"y": 740,
"wires": []
},
{
"id": "eb1ef10bd2d98a04",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse string1voltage",
"func": "string1voltage = parseInt(msg.payload[56].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(string1voltage) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = string1voltage\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 360,
"y": 380,
"wires": [
[
"68f495560987754b"
]
]
},
{
"id": "aa0fd29746e7f82d",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse string1current",
"func": "string1current = parseInt(msg.payload[65].replace(/([^a-z0-9]+)/gi, ''))/100;\n\n\nif (Number.isNaN(string1current) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = string1current\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 360,
"y": 420,
"wires": [
[
"e33e75fdf4b82aac"
]
]
},
{
"id": "6bc46f3e373ea374",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse string2voltage ",
"func": "string2voltage = parseInt(msg.payload[82].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(string2voltage) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = string2voltage\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 360,
"y": 460,
"wires": [
[
"8d9268aef7b8eba8"
]
]
},
{
"id": "01fd97e66dd1e7ed",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse string2current",
"func": "string2current = parseInt(msg.payload[91].replace(/([^a-z0-9]+)/gi, ''))/100;\n\n\nif (Number.isNaN(string2current) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = string2current\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 360,
"y": 500,
"wires": [
[
"960f3f76488c3e98"
]
]
},
{
"id": "49d7fbfce0853df5",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse line1voltage",
"func": "line1voltage = parseInt(msg.payload[59].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(line1voltage) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = line1voltage\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 540,
"wires": [
[
"c5ccb0f701055bc1"
]
]
},
{
"id": "b749aec74297da98",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse line1power",
"func": "line1power = parseInt(msg.payload[68].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(line1power) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = line1power\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 580,
"wires": [
[
"f7dad6605a58f5c6"
]
]
},
{
"id": "1f90685264d36a3b",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse line2voltage",
"func": "line2voltage = parseInt(msg.payload[85].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(line2voltage) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = line2voltage\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 620,
"wires": [
[
"7d0a3ec6865e297e"
]
]
},
{
"id": "32d7bb0afd1faeb5",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse line2power",
"func": "line2power = parseInt(msg.payload[94].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(line2power) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = line2power\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 660,
"wires": [
[
"7f9fed855e70fed7"
]
]
},
{
"id": "37e5e4eb0f275f2d",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse line3voltage",
"func": "line3voltage = parseInt(msg.payload[111].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(line3voltage) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = line3voltage\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 700,
"wires": [
[
"771b4926c3e76ab5"
]
]
},
{
"id": "4ec5b28516254e78",
"type": "function",
"z": "347111747d6d4c72",
"name": "parse line3power",
"func": "line3power = parseInt(msg.payload[120].replace(/([^a-z0-9]+)/gi, ''));\n\n\nif (Number.isNaN(line3power) === true){\n totalEnergy = -1;\n}\n\n\nmsg.payload = line3power\n\n\nglobal.set(\"kostal\", msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 350,
"y": 740,
"wires": [
[
"6b3309a879659da4"
]
]
},
{
"id": "c8c536ef38e613a8",
"type": "ui_group",
"name": "Werte",
"tab": "d3de2ec7ddd38014",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "0816668bf0491bd9",
"type": "ui_group",
"name": "PV-Generator",
"tab": "d3de2ec7ddd38014",
"order": 2,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "2e650c287c8977c6",
"type": "ui_group",
"name": "Ausgangsleistung",
"tab": "d3de2ec7ddd38014",
"order": 3,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "634cbb5f.887d54",
"type": "mqtt-broker",
"broker": "192.168.1.10",
"port": "1883",
"clientid": "nodeRed",
"autoConnect": true,
"usetls": false,
"protocolVersion": 4,
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"willTopic": "",
"willQos": "0",
"willPayload": ""
},
{
"id": "d3de2ec7ddd38014",
"type": "ui_tab",
"name": "PV-Anlage",
"icon": "dashboard",
"order": 6,
"disabled": false,
"hidden": false
}
]

RØDE Wireless GO II

Vielleicht möchte noch jemand einen Blick in die RØDE Funkmikrofone werfen, wenn diese ebenfalls nach ein paar Wochen schon defekt sind.

Dieses Paar (beide Sender in der Auslieferung) haben das Problem, dass sie sich mitten in der Aufnahme unvermittelt ausschalten. Die Akkuanzeige zeigt zwar „voll“ an, aber das hindert die Geräte nicht daran, mir die Aufnahmen zu vermiesen.

Mit externer Stromversorgung über USB funktionieren die Teile weiterhin. Das ist natürlich keine Lösung, da diese gerade in Vortragssituationen die Taschen erheblich „aufbläht“.

Nachdem man den verklebten Frontdeckel abgehoben hat sieht es so aus:

der weiße Akkustecker ist sehr empfindlich, das Plastik ist sehr weich

OpenVPN zwischen Teltonika und Sophos

Ein VPN mit Netz-zu-Netz (Site2Site) Kopplung zwischen Teltonika Mobile Routern und Sophos Firewalls funktioniert bestens.

Daher hier die Anleitung:

1. Schritt: VPN in Sophos Firewall erstellen

In einer Sophos (getestet mit einer SG-125) eine SSL Verbindung (Site-to-site VPN) anlegen. Das lokale und das entfernte Netz eingeben. Die Verbindung als „Connection type“ Server konfigurieren. Nun die VPN-Verbindungsdatei herunterladen.

2. Schritt: APC Datei „zerpflücken“

Die eben heruntergeladene VPN-Datei hat die Endung .apc, z.B. vpnserver.company.de.apc

Im nächsten Schritt geht es darum, die verbindungsspezifischen Daten zu extrahieren. Für die Gegenstelle (Teltonika-Router) benötigt man drei Dateien, Passwort und Username.

Am Anfang stehen die drei nötigen Zertifikate (in der Reihenfolge „Client Zertifikat, CA und Private Key), jeweils mit einigen für uns unnötigen Inforamtionen dazwischen. Wichtig sind immer die Werte ab:
—–BEGIN CERTIFICATE—– bis einschließlich —–END CERTIFICATE—– bzw. beim
Private Key ab —–BEGIN PRIVATE KEY—– bis einschließlich —–END PRIVATE KEY—–.
Dann steht am Ende der APC-Datei noch der Username und das Passwort. Beide beginnen mit REF_, beim Username (ist relativ kurz) steht direkt danach „username“, beim Passwort direkt danach „password“ (dieses ist relativ lang).

Die entsprechenden Teile der Zertifikate und des Private-Keys per z.B. Notepad++ auszuschneiden und in eine neue, leere Datei kopieren.
Wichtig ist auch, dass das „—–BEGIN CERTIFICATE—–“ und „—–END CERTIFICATE—–“ mit in die neu zu erstellende Datei übernommen wird.

Diese entsprechend abspeichern (die Dateiendung scheint egal zu sein), also z.B. pk.txt, ca.txt und cz.txt und für den nächsten Schritt vorhalten.
Die Stellen, an denen sich Username und Password in der Datei befindet, habe ich oben rot markiert.

3. Schritt: Teltonika Router konfigurieren

Im Mobile-Router nun eine neue VPN-Verbindung entsprechend des unten gegebene Screenshots konfigurieren. Die drei Dateien in die zugehörigen Fehler hochladen.

Sofern keine Fehler unterlaufen sind oder die Komponenten bei Sophos oder Teltonika abgeändert wurden, sollte die VPN-Verbindung schnell zustande kommen und beide Netze jeweils gegenseitig erreichbar sein.

Sophos Rejected: RBL (cbl.abuseat.org)

Sophos Firewalls können zum Zeitpunkt dieses Postings (Oktober 2021) eingehenden E-Mail Verkehr ablehnen.

D.h. im Logfile erscheinen plötzlich viele Einträge, in denen ankommenden E-Mails wegen vermeinlichem Blacklist-Eintrag bei cbl.abuseat.org abgelehnt werden. Die manuelle Überprüfung der angezeigten Einträge ergeben bei allen Blacklist-Anbietern jedoch keine Auffälligkeiten, d.h. die es handelt sich um ein „falsches Ablehnen“ (false positives).

Ohne irgendeine Änderung an der Firewall-Konfiguration tritt dieser Fehler bei Kunden plötzlich am 12.10.21 auf. Die eingesetzten Firewall-Geräte sind zwei Sophos SG-135, als Failover-Cluster betrieben. Die installierte Firmware-Version ist 9.707-5.

Die Angelegenheit beeinträchtigt den Geschäftsbetrieb von Unternehmen massiv.

Der Grund dafür scheint bisher nicht klar, wird unter dem „Aktenzeichen“ NUTM-13047 dort untersucht.

https://community.sophos.com/utm-firewall/f/mail-protection-smtp-pop3-antispam-and-antivirus/128016/rbl-working-too-well

Es scheint, als habe es etwas mit den eingetragenen DNS-Servern zu tun.

Camping Seeburger See

Etwa 30 Minuten von Göttingen gelegener verhältnismäßig kleiner Campingplatz am Seeburger See. Die Lage ist idylisch und ruhig. Der Platz ist wirklich schön, als großer Rundweg mit davon abgehenden Nebenplätzen angelegt. Dazwischen stehen Mietwaggons oder Mietzelte.

Beim Einchecken gibt es gleich ungefragt einen Code für das WLAN, ausprobiert habe ich es nicht, da die Telekom-Ausleuchtung mit LTE hier noch ausreichend ist.

Es sind Kinder vorhanden, die sich anfreunden und miteinander spielen. Angrenzend ist ein toller Abenteuerspielplatz vorhanden, der rege genutzt wird.

Direkt nebenan ist das schön gestaltete Freibad mit Kinderbecken, Liegewiese, Umkleidekabinen und einem etwa 80 Meter langen Steg ins den See. Ein Kiosk mit erweitertem Angebot lädt zum Essen ein.

Der Seeburger See erscheint naturbelassen und ist idyllisch, es schwimmen Seerosen darauf und an den Ränder befindet sich viel Schilf. Ein Rundgang um den See umfasst rund 5 km.

Der Empfang ist nett, zeigt bei „unreservierter“ Anreise gleich die restlichen Plätze auf, von denen man sich dann nach einer Begehung den besten raussuchen kann. Die Stellplätze sind etwa 60-80qm groß, manche auch kleiner.

Der Campingplatz ist parzelliert, aber weitgehend offen gestaltet. Leider gibt es bei längeren Regenfällen ein großes Problem mit dem lehmigen Boden. Der Platz läuft schnell Gefahr, zu versumpfen. Etliche Stellplätze sind dann kaum bis nicht mehr nutzbar, da man mit den Reifen stecken bleibt. Der niederländische Betreiber hat uns hierüber nicht informiert – was ich allerdings erwarte, denn dieser Umstand kann eine erhebliche Einschränkung darstellen.

Es gibt eine Sanitäranlage, die nur mit Zugangschip zu betreten ist. Die Duschen sind einwandfrei, mit Brauseschlauch. Man wird mit KEINEN Duschmarken oder ähnlich gegängelt.

Teilweise gibt es eine Animation für Kinder.

In der Umgebung ist mindestens Duderstadt und Göttingen einen Besuch wert.

Campingplatz Affolderner See

http://www.campingplatz-affoldernersee.com/

Wir kamen gegen 17:45 Uhr Montags an. Telefonisch wurde uns am Tag zuvor zugesagt, dass einer Anreise nichts im Wege steht. Platz sei vorhanden.

Wir konnten vor Ort niemand Zuständigen antreffen, die Rezeption war geschlossen und auch auf die Klingel reagierte niemand.

Die Schranke vor dem Campingplatz war offen. Mangels Anweisungen oder Informationen haben wir den Platz jedoch nicht einfach befahren.

Hier vor Ort konnten wir jedoch außer sehr kleiner Platzparzellen (50-60qm), einem alten Spielplatz nicht viel Attraktives ausmachen, so dass wir schlicht weiterfuhren.

Wer es sehr ruhig mag, der wird hier sicherlich glücklich sein. Für eine Familie mit bewegungshungrigen Kindern ist der Platz eher nicht die erste Wahl.

Angesteuert haben wir den Platz ursprünglich wegen des „Award 2021“ auf Camping.info. Er hatte gute Bewertungen. Das mag sicherlich auch zutreffen, wir sind nur nicht in dieser Kategorie „Ruhe“ zu verorten.

Ermittlungsverfahren gegen Andreas Fendel und N. Fendel

Das Ermittlungsverfahren gegen den Beschuldigten Andreas Fendel ist gemäß § 170 Abs. 2 der Strafprozessordnung eingestellt worden, weil die Person, die Ihnen gegenüber als Andreas Fendel aufgetreten ist, nicht existent ist. Die hier aufgeführten Ermittlungen haben ergeben, dass der Personalausweis, welchen der Täter Ihnen im Rahmen der geführten Verkaufskorrespondenz übersandt hat, gefälscht ist. Ein Dokument mit der entsprechenden Ausweisnummer ist nicht vergeben worden und das Lichtbild und das Geburtsdatum stimmen auch nicht mit der Person überein, die im Bundesgebiet den entsprechenden Namen führt.

Das Ermittlungsverfahren gegen die Beschuldigte N. Fendel, welche als Kontoinhaberin des Kontos ermittelt werden konnte, auf welches Ihr Geld geflossen ist, ist ebenfalls gemäß § 170 Abs. 2 der Strafprozessordnung eingestellt worden, weil ihr die Täterschaft nicht nachgewiesen werden kann.

Die Beschuldigte hat bereits am 25.03.21 bei der Kriminalpolizei in H. Anzeige erstattet. Sie hat sich im genannten Verfahren unwiderlegbar dahingehend eingelassen, Ihrerseits Opfer von Betrügern geworden zu sein. Sie hat angegeben, durch die Annahme eines Jobangebots im Internet in die Betrugstaten verwickelt worden zu sein. Sie habe sich über eine Internetseite (www.te-finanzen.net) als „Investment-Treuhänderin“ beworben und habe als solche Zahlungen von vermeintlichen Kunden der Firma auf ihrem Privatkonto empfangen sollen. Sie sei dann von der Bank informiert worden, dass sie ihr Konto Betrügern zur Verfügung gestellt habe.

Das von der Beschuldigten geschilderte Geschehen entspricht einer Vielzahl von Fällen, in denen unbescholtene Bürger von Betrügern zur Herausgabe ihrer Kontodaten veranlasst werden. Die Gelder fließen sodann – wie wohl auch in ihrem Fall – auf Auslandskonten bzw. werden in Cryptowährungen umgewandelt.

Nach kriminalistischer Erfahrung haben Geschädigte keine realistische Chance ihre Geld zurückzuerhalten. Es empfiehlt sich beim Kauf und Verkauf über Internetforen stets wachsam zu sein.

Zivilrechtliche Ansprüche werden durch diesen Bescheid nicht berührt.

Camping Park Weiherhof

In der Pfalz, bei Seck, an zwei Weihern gelegener Campingplatz.

Riesige Zufahrt, etwa 200m lang, so groß wie manch kleiner Campingplatz.

Duschen funktionieren mit Duschkarten, die mit 5€ aufgeladen sind.

In den Toiletten finden sich Desinfektionsspender, die mutmaßlich jedoch nur Wasser enthalten.

Für den gebotenen Leistungsumfang vergleichsweise teuer. Spielplatz befindet sich auf einfachem Niveau für verwöhnte Großstädter wie uns, denen sonst im Umkreis von 1000m etliche Abenteurspielplätze zur Verfügung stehen.

Parzellierte Stellplätze, direkt angrenzend zu den Campingburgen der Dauercamper mit großen Hecken.

Uns wurde ein Stellplatz mit Seeblick angeboten und ein „normaler“, der jedoch eher den Charakter eines Sumpfes hatte. Wir entschieden uns für den teureren Seeblick.

Vodafone Netz gibt es hier praktisch in „homöopathischen Dosen“ – Internetverbindung war unbrauchbar, unter Umständen gerade mal Telefonieren möglich.

Resumee: Nein, dort werden wir bitte nicht wiedergeboren.