Salind bzw. PAJ GPS Tracker

Bevor ein global agierendes Versandhaus meine Rezension zurückweist, hier meine unabhängige „Berichterstattung“:

Der Tracker sieht solide verarbeitet aus. Wie genau und zuverlässig das Tracking ist, werde ich nachträglich berichten.
Es bleibt zu erwähnen, dass der Hersteller Rezensionen belohnt. Ich werde hiervon keinen Gebrauch machen, da dies zu einer Vorteilsnahme und einer Verzerrung der Bewertung führen kann.
Dies sollte allerdings aufgrund der vielen Bewertungen nicht unerwähnt bleiben.


Nachtrag:

Nun ist der Tracker bereits seit 18 Monaten im Einsatz und funktioniert auch bisher sehr zuverlässig. D.h. es wird jede Fahrt und sogar jede Bewegung aufgezeichnet und ins Netz zur Cloud, bzw. dem Verarbeiter gesendet.

Der Akku / die Laufzeit:

Die Akkulaufzeit kann sich bei meinem Gerät sehen lassen. Wenn man nicht ständig unterwegs ist, sind drei oder vier Monate sicherlich drin. Wenn man unterwegs ist, dann hält der Akku vielleicht 2 Monate. Wir waren 5 Wochen unterwegs und vorher war der Akku auch nicht voll und hatte immernoch gut Restkapazität.

Das Highlight:

Der Tracker zeichnet in der Cloud alles auf und es lässt sich jede Strecke wunderbar darstellen. Inklusive Geschwindigkeit und natürlich auch Pausen. D.h. wenn man später nachvollziehen will, wo man wann war – oder wie viel das Fahrzeug im Urlaub gefahren ist – dann ist das perfekt nachvollziehbar.

Nachteil:

Die Subscription / das Abonnement:
Klar ausgedrückt: Das Gerät ist ohne das Betreiberportal und ohne aktive Bazahlung reiner Elektroschrott. Meines Wissen nach jedenfalls. D.h. stellst du die Zahlung für das Abo ein, dann kannst du den Paj-Tracker auch nicht nutzen.
Würde z.B. Paj/Salind den Dienst einstellen, dann kannst du den Tracker auch nur noch als Briefbeschwerer oder Türstopper nutzen.

Ebenfalls zu beachten: Du bist natürlich jeglichen „Dienstleistungsverbesserungen“ ausgesetzt. Ob du willst, oder nicht. Ich persönlich kann auf viele Neuerungen verzichten, wenn ein Gerät „Featurecomplete“ ist und nur noch künstlich aufgeplustert wird. Meistens kommt dann eh nur Müll dabei raus. Glücklicherweise kann ich dieses Treiben bei PAJ bisher nicht beobachten, d.h. die Veränderung waren bisher noch moderat und tendentiell sinnvoll.

Was mich nervt:

Das sind solche „Sachen“:

Genau: Dass mir jemand vorschreiben will, dass ich mein Passwort ändern soll. Aus Sicherheitsgründen, natürlich.
Vielleicht aber auch – nur Mutmaßung – weil bei PAJ die Useraccounts und Passwörter entwendet wurden, und nun die Kunden (aus dann nachvollziehbaren Sicherheitsgründen) die Passwörter welchseln müssen.

Also mal nachfragen:

Sehr geehrte Damen und Herren,
ich habe die Aufforderung von Ihrem Portal erhalten, mein Passwort zu ändern.

Ich weiß ihre vorauseilende Sicherheitsfürsorge zu schätzen, gleichzeitig ist eine anlasslose Änderung meines Passwortes nicht von Vorteil sondern, da mein Passwort sehr sicher und einzigartig ist.
Generell führt eine „ich zwinge Kunden zur regelmäßigen Passwortänderung“-Politik nicht zu mehr Sicherheit, sondern eher zu einem „in der Schnelle irgendwo ungünstig notierten Passwort“ – wie Untersuchungen gezeigt haben.
Auferlegte Passwortrichtlinien sind selten sinvoll.

Ich war ziemlich verärgert, als ich Zugriff auf den Standort brauchte, aber dann genötigt wurde, mein Passwort zuerst zu ändern.

Daher meine Frage: Was ist der Grund für dieses Änderungsaufforderung?

Gibt es möglicherweise Ihrerseits Grund zur Veranlassung dazu, dass Ihre Kunden die Passwörter ändern müssen? Z.B. dass die Passwörter entwendet wurden?

Ich besitze wie heute fast jeder Mensche etliche Zugänge zu diversen Portalen, aber bisher ist noch nie ein Betreiber auf die Idee gekommen, mich ohne driftigen Grund zur Passwortänderung zu bewegen.

mit freundlichen Grüßen

To be continued …

1blu zeigt sein wahres Gesicht

Wow, das ist wirklich mutig. Die Produktpreise auf einen Schlag um 360 Prozent (!!!) erhöhen. Nein, nicht 3,6 Prozent, nicht 36 Prozent, sondern fast das Vierfache.

Was ist passiert?

Ich bekomme eine E-Mail, in der der Preis meines Webhosting-Paketes von derzeit 2,74 € auf 9,99 € pro Monat angehoben werden soll:


Respekt! Nicht.

Früher wurde das Hosting-Paket in einer renomierten Fachzeitschrift mit einem „Dauerpreis“ von 2,29 € beworben. Dann wurde es moderat etwas angehoben.
Und auch aktuell wird in der Heise C’t wieder dieses Paket von 1blu für 2,69 € beworben. Im gleichen Atemzug, während man es bei (vielleicht unaufmerksamen?) Bestandskunden auf knapp 10 € anheben will.

Man könnte fast meinen, das sei arglistig?

Aber warum zerlegt sich der Dienstleister nun selbst? Oder liege ich hier falsch?
Ein Johann Dasch als Vorstand dieser 1blu Aktiengesellschaft kann doch nicht vollen Ernstes davon ausgehen, dass dieser Schachzug , der auf Unzuverlässigkeit und Unzurechenbarkeit schließen lässt, ohne Folgen bleibt. Oder etwa doch?

Wer, außer Menschen die davon nichts wissen, würden in Zukunft noch Geschäftsbeziehungen mit so jemandem eingehen?
Never ever würde ich einem solchen Menschen meine Daten anbieten oder mich in irgendeine Form von ihm oder seiner Firma abhängig machen!

Den Einträgen in diversen Foren nach versucht 1blu diesen neuen Preis nur vereinzelt durchzusetzen. Womöglich, um nicht zu viel Staub aufzuwirbeln, denn eine solche Preiserhöhung ist ja mehr als unpopulär.

Vielleicht setzt man hier auf folgende Rechnung:
Einige wachsame Kunden wird man verlieren, aber ein gewisser Teil wird nicht aufmerksam oder zu bequem sein, die Dienstleistung zu kündigen. Und wenn am Ende mehr Gewinn dabei rauskommt, dann ist ein möglicher Reputationsverlust schlicht einkalkuliert.
Zusätzlich hat man künftig all die Kunden abgestoßen, die Ansprüche (wie Zuverlässigkeit und Seriösität) stellen, oder sogar widersprechen, denn die kosten nur Geld und mindern den Gewinn. Die übriggebliebenen Kunden sind tendentiell eher willfährig und dann kann man vielleicht auch noch weiter die Preisschraube andrehen. Denn: Was einmal funktioniert hat …

Schade nur, dass das auch meinem Ruf schadet, denn ich hatte 1blu bisher im kleinen Kreis als zuverlässig, und seriös, weiterempfohlen. Ich konnte ja nicht wissen, dass man dem Laden nicht vertrauen kann, wenn er Versprechungen wie „Dauerpreis“ macht, und dann doch bricht.

Alternativen zu 1blu? Ich schaue mir nun all-inkl.com und netcup.com an.
Ionos ist für mich auch schon lange raus.

All das Geschriebene spiegelt nur meine Meinung und Gedanken wider.

Putty, SSH und Server refused our key

Du hast dir die Mühe gemacht, deinen Debian oder Linux-Server mit Pubkey-Zertifikaten abzusichern und nun bekommst du bei einem neuen Server dauernd die Meldung „Server refused our key“, wenn du dich per Putty verbinden willst?

Hast Du eventuell auch Debian 12, bookworm neu installiert?

Was bisher immer tadellos funktionierte, benötigt offensichtlich nun eine extra Zeile in der

/etc/ssh/sshd_config

PubkeyAcceptedAlgorithms +ssh-rsa

starte danach deinen SSH-Server neu mit:

$ sudo systemctl restart sshd

und der Login über deinen Schlüssel sollte wie bisher weiter funktionieren.

Du kannst im Vorfeld auch selbst überprüfen, ob die Einschränkung des Algorithmus die Ursache ist:
Dazu hast du die Möglichkeit, den Loginprozess auf den SSH-Server zu mitzuloggen, bzw. die Ausgaben live abzusehen.

Starte hierzu einen extra SSH-Serverprozess auf der Linux-Shell mit z.B. Port 2020

sudo `which sshd` -p 2020 -Dd

Du bekommst dann schonmal rund 13 Zeilen Debug-Ausgaben mit dem Hinweis, dass der Server nun an Port 2020 lauscht.
Nun kannst du dich vom Client her, z.B. Putty, auf diesen Port verbinden und dabei wie gewohnt deinen Private-Key mit einbinden.

Wenn bei den Debug-Ausgaben auf dem Linux-Rechner dabei folgende Zeile enthalten ist:

debug1: userauth-request for user mustermax service ssh-connection method publickey [preauth]

, dann ist das der definitive Hinweis, dass du die oben erwähnte Zeile (PubkeyAcceptedAlgorithms +ssh-rsa) in die SSH-Config eintragen darfst.


Copenhagen Trackers – meine Erfahrung

Ein kleiner GPS-Tracker, ohne Bezahl-Subscribtion, der batteriebetrieben jahrelange durchhält und nur bei Bedarf seine Koordinaten sendet? Wäre zu schön gewesen, um wahr zu sein.

Zugegeben, es war ein Experiment. Die Rezensionen einiger Käufer im Internet und auch im Appstore haben schon angedeutet, dass es einen gewissen „Funktionsvarianz“ gibt. Also entweder gehört man zu den Käufern, bei denen das Gerät funktioniert, oder eben nicht.

Heute habe ich Gewissheit: Der sogenannte Cobblestone GPS-Tracker funktioniert bei mir NICHT. Oder genauer: Nicht mehr.

Am 07. Juli 2023 in Betrieb genommen, hatte er anfangs täglich mindestens ein Mal die Position eines „beweglichen Objektes“ gesendet. Auch wenn das Fahrzeug mehrer Tage geparkt war, vermeldete der Tracker trotzdem gelegentlich etwas „Bewegung“. Vielleicht aufgeweckt durch Vibrationen, wer weiß das schon?

Nach 17. Juli schon beschloss das Gerät, die erste längere Auszeit zu nehmen. Ein Zwischenstop in Münster, und dort blieb die Position dann „hängen“. Bis zum 7. August, als der Tracker urplötzlich wieder aktuelle Koordinaten meldete – und das sogar in Frankreich. Doch der Zauber hielt nicht lange an, denn am 11. August beschloss das Gerät, wieder seine Arbeit einzustellen.

Nun reichts. Das Gerät geht zurück zum Verkäufer. Schade drum. Meine Erfahrungen mit dem Cobblestone GPS-Tracker befinden damit leider auf dem Niveau von Elektromüll.


https://cphtrackers.com

Internet im Wohnmobil

Um im WoMo vernünftigen Mobilfunk-Empfang zu haben, habe ich auf das Dach eine 5G-Empfangsantenne montiert.
Eine heikle Angelegenheit, wenn man betrachtet, dass man dadurch ein Loch durch das Dach bohren muss, das einen sonst zuverlässig davor bewahrt, dass man bei Regen nass wird.

Als Antenne habe ich mich für die 5G-Antenne von FTS-Hennig entschieden. Nach etlichen Versuchen, dort jemand an die Strippe zu bekommen, war ich irgendwann erfolgreich. Meine Frage nach den Unterschieden zwischen den verschiedenen Modelle im Shop wurde damit beantwortet, dass die alle sehr ähnlich seien, aber sie aufgrund der vorhandenen Lieferengpässe kurzerhand selbst ein Modell entwickelt hätten und dieses in der Funktion den Konkurrenten nichts nachstehen würde. Soweit …

Ich habe daher folgende Antenne verbaut:
https://www.fts-hennig.de/antennen/fahrzeugantennen/fts-complete-car-5g.html

5G Mobilfunk Fahrzeugantenne
5G Mobilfunk Fahrzeugantenne


Erfahrung bisher:
5G Empfang funktioniert – inwiefern besonders gut, das kann ich nicht beurteilen.
Allerdings ist die WLAN-Leistung verhältnismäßig schwach, wenn ich ihn ins Verhältnis zur alten Antenne auf dem Wohnwagen setze. Bei 50 Metern Abstand mit Sichtverbindung ist kaum noch Empfang möglich. Bei der alten Antenne konnte ich mich mehrere 100 Meter entfernen und immer noch „den Wohnwagen“ empfangen. Das ist nun leider anders.

Also ran ans Einbauen:

Als besten Ort für ein Loch habe ich eine Stelle im Schrank gefunden, bei der das Dach mit einer Holzeinlage versehen sein soll – für die Montage eines Antennenmastes. Wohl für Satellitenschüsseln vorgesehen.

Zuerst habe ich ein 4 mm Pilotloch von unten (innen) nach oben (außen) gebohrt. Wichtig ist hierbei, dass jemand aufpasst, dass man nicht schief bohrt. Weil sonst wird danach das große Loch auch schief und die Antennenhalterung samt Antenne sitzt dann auch nicht gerade. Das ist für die Abdichtung dann eher ungünstig.

hier das fertige Loch von innen


Optimalerweise liegt bei mir dort auch ein Stromkabel als Vorbereitung für eine Solaranlage. Das habe ich gleich „rübergezogen“, um es für meine Zwecke zu nutzen.

Oben habe ich das Dach vorher ordentlich gesäubert, damit die Abdichtmasse (Dekaseal) später gut kontaktiert.

Das Dichtmittel

Durch das Pilotloch geführt, habe ich dann von oben (außen) herab mit einem 29mm Lochsägenbohrer nach unten durchgebohrt. Hiermit:
https://www.conrad.de/de/p/toolcraft-to-6803625-lochsaegen-set-6teilig-22-mm-29-mm-35-mm-44-mm-51-mm-68-mm-1-set-2267875.html

Der Antennenschaft hat etwa 28mm Durchmesser

Dabei sollte man speziell am Ende mit viel Sorgfalt vorgehen oder ein Brett von unten dagegenhalten, damit es nicht ausfranzt. Warum von oben? Damit das GfK-Dach nicht nach oben ausfranzt, wenn man durchbricht. Das wäre sehr unschön, auch wenns verdeckt wäre.

Das Ergebnis war gut:

Das Bohrloch von Außen auf dem Dach
Das Bohrloch von Außen auf dem Dach, Nahaufnahme.

Das Bohrloch selbst habe ich von innen vorsichtshalber mit wasserfestem Holzkleber ausgekleidet, um es noch zusätzlich abzudichten.

Die fertig montierte Antenne auf dem Dach.

Die Antenne selbst wird mit einer Gummimatte zusätzlich als Unterlage geliefert. Die dürfte prinzipiell von selbst schon ziemlich gut abdichten:

Antenne mit Abdichmatte

Die Unterseite und Oberseite dieser Matte habe ich mit drei konzentrischen Ringen aus Dekaseal-„Würsten“ versehen und dann auf das Dach gebracht und gepresst. So gibt es drei Barrieren für Wasser, das aus unerklärlichen Gründen noch eindringen könnte. Das Ding ist sowas von dicht.
Von unten wird das Teil per Ring ordentlich festgezogen und sitzt wirklich fest.

Im Schrank haben ich im hinteren Bereich eine Hutschiene mit zwei Schrauben angebracht, an den ich den Router – Teltonika RUT50X – hängen kann.

Und (fast) ganz fertig sieht es dann so aus:

Jetzt fehlt noch ein vernünftiger Ein-/Ausschalter am Stromkabel.

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 effektivste Mittel, um zum Beispiel:

  • das eigene Gehalt neu zu verhandeln
  • Konflikte auszusprechen und zu lösen
  • Partner zu finden
  • den Weg zu erfragen
  • persönliche Ziele 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 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://www.freies-sprechen.com

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.