Skip to content

ELV Gaszähler Integration in Home Assistant

Neulich konnte ich endlich in Zusammenarbeit mit einem Kollegen vom IOT Shop im Photovoltaik Forum meinen KLAX2.0 Optokoppler in Betrieb nehmen. Das Teil misst den Stromverbrauch am Stromzähler und überträgt seine Daten via LoRaWAN, von wo aus man sie mit einem TTN Mapper abgreifen und auswerten kann. Der zweite Energieträger bei uns ist Gas, was liegt also näher, als auch die Daten des Gaszählers abzugreifen und auszuwerten? Nun gibt es ja verschieden Methoden, die mit unterschiedlichem Bastelaufwand ebensolche Ergebnisse präsentieren. Auch beim Gas ist es so, daß eine Auswertung per WLAN wegen der Entfernung zum Zahler nicht in Frage kam. Auch ist wie beim Stromzähler selbst keine Stromversorgung vorhanden, was die Auswahl auch hier ziemlich eindampft. Ich hatte mich dann letztlich für den vergleichsweise günstigen LoRaWAN® Energiezähler-Sensorschnittstelle, C sowie den ES-GAS-2 Sensor entschieden, welche dann auch kurze Zeit später geliefert wurden. Der Zusammenbau wie auch die Montage gestalteten sich einfach, am Gaszähler muß nichts verändert werden, passende Adapter werden mitgeliefert. Für die Stromversorgung habe ich mir bei einen Battery Expansion Shield 18650 V3 besorgt, dafür ein Gehäuse gedruckt und zusammen mit einer 18650 Zelle an den ELV Zähler gesteckt. Das ist nun schon einige Tage her, der Stromverbrauch gestaltet sich recht zivil, man kann natürlich auch größere Akkupacks verwenden, sollte jedoch darauf achten, daß sich diese nicht abschalten, während der Zähler im Tiefschlaf ist, da sonst die Datenübertragung unterbrochen ist.

Für die Anleitung setze ich folgendes voraus:

  • Ein LoRaWAN Gateway ist vorhanden und eingebunden.

  • Es wird The Things Network (TTN) genutzt.

  • Homeassistant ist installiert und das Add-on Mosquitto broker ist hinzugefügt und aktiviert. Dieses Add-on muss wie folgt konfiguriert sein:
Der Screenshot zeigt die notwendigen Ergänzungen in der Konfiguration des mosquitto Plugins: Require Client Certificate auf "ono" und unter "customize" folgendes eingeben:"active:true" , "folder: mosquitto", require_certificate: false
Hier nun die Konfiguration im ttn Stack, als erstes eine Applikation anlegen, dann unter "Integrations" einen API Key sowie Username erstellen, abfragen und kopieren.

Der Screenshot zeigt die entsprechende Einrichtung der Einträge bei den "applications"
Bitte den API Key speichern und ebenfalls die anderen Informationen. Sie werden noch gebraucht. Der ELV-LW-ESI ist zu einer TTN Applikation hinzugefügt. Dazu den "Device Repository Formatter", den ELV zur Verfügung stellt nutzen:

der Screenshot zeigt die Auswahl des "Formatter Type": "Use Device Repository formatters" bei den Payload Formatters / Uplink
Für die nächsten Schritte, in denen unter anderem auf die Dateistruktur von Home Assistant zugegriffen werden muss nehme ich einfach das Add-on "File Editor", das einfach nachinstalliert werden kann. Wichtig für die folgenden Schritte: Änderungen in der Konfiguration vom "File Editor":

Der Screenshot zeigt die notwendigen Einstellungen in der Konfiguration des Editor Plugins.
Nun die Zertifikate von TTN in Homeassistant hinterlegen. Dazu laden wir die Zertifikatsdatei "minimal certificate list hier herunter: Root Certificates. Mit dem "File Editor" navigieren wir jetzt eine Ebene höher als /homeassistant und öffnen dann den Ordner "ssl". In diesem Ordner laden wir die ca.pem hoch.

Nächster Schritt: MQTT Bridge einrichten

Mit dem "File Editor" gehen wir wieder eine Ebene höher und öffnen dann den Ordner "share". Hier erstellen wir nun den Ordner "mosquitto" und darin dann die Datei "mosquitto.conf" mit folgendem Inhalt:

connection elv
    address eu1.cloud.thethings.network:8883
    cleansession true
    remote_username elv-lw-esi-xxxxx@ttn
    remote_password NNSXS.SupersicheresPasswort
    try_private false
    bridge_insecure false
    bridge_cafile /ssl/ca.pem
    topic # in 0 ttn/
Dabei setzt man in hinter remoteusername den oben erstellten Usernamen ein und hinter remotepassword den API Key.

Die /homeassistant/configuration.yaml wird am Ende um folgenden Code erweitert, der die "payload", also die Daten, die der ELV-LW-ESI liefert, für Home Assistant übersetzt:

# Anfang Gaszähler
    - name: "Gasverbrauch"
      state_topic: "ttn/v3/elv-lw-esi-xxx@ttn/devices/eui-xxxxxxxxx/up"
      value_template: "{{ value_json['uplink_message']['decoded_payload']['Energy_Data']['Energy_Counter'][0]}}"
      unit_of_measurement: "m³"
      device_class: "energy"
      state_class: "total_increasing"
      unique_id: elv_lw_esi
      device:
        identifiers: "elvlwesi"
        manufacturer: "ELV"
        name: "ELV Gaszähler"
# Ende Gaszähler
Folgende Anpassungen müssen darin noch vorgenommen werden:

Das state_topic entspricht der Kombination aus dem remote_username der Datei mosquitto.conf und der eui des ELV-LW-ESI in der Übersicht der angelegten Applikation:

Der Screenshot zeigt in der "Application Overview" unter "End Devices" die eui-*** des ELV-LW-ESI
Nach einem Neustart und Datenempfang vom Zähler sollte jetzt beim "Energie" Panel von Home Assistant der Gasverbrauch fertig zur Einrichtung sein: Dazu klickt man oben rechts im Drei Punkte Menü auf "Energiekonfiguration", woraufhin sich die unterschiedlichen Energiearten wie Strom, Gas, Wasser etc. konfigurieren lassen und nach dem Abspeichern in diesem Panel angezeigt werden.

Der Screenshot zeigt in Balkendiagrammen den Energieverbrauch bei Strom und Gas an.
Dir hat der Beitrag weiter geholfen? Diese Seite finanziert sich durch Spenden der LeserInnen. Wir freuen uns über Unterstützung via:

LiberaPay

BitCoin:

bc1qgthwzrszw48lw9jl8zjg94fp6w6xfkw0929vg0



oder PayPal


Kein #Nerdkram: Werbung und Tracker unter iOS/Android systemweit verbannen

Typische Darstellung eines Anonymous-Hackers mit Guy-Fawkes-Maske gekleidet in Jeans und Hoddie mit aufgesetzter Kapuze, der an einem Stehtisch sitzt und in eine Notebook tippt auf der Cebit 2016.
Typische Darstellung eines Anonymous-Hackers mit Guy-Fawkes-Maske auf der Cebit 2016.
Foto: Frank Schwichtenberg - Eigenes Werk Lizenz: CC BY 4.0
Mike Kuketz hat in seinem Blog ein paar Tips für Anfänger, Faule und Bequeme zusammengestellt um Werbung und Tracker unter iOS/Android systemweit zu verbannen: "Die meisten Apps aus den Stores von Google und Apple beinhalten Software-Bausteine von Drittanbietern, die dem Nutzer Werbung einblenden oder seine Aktivität auf Schritt und Tritt verfolgen. Als Nutzer hat man allerdings keinen Einblick in die App bzw. sieht ihr von "außen" nicht an, wie sehr die Werbe- und Trackingbausteine die Sicherheit und den Datenschutz gefährden.

Sowohl Google als auch Apple tun insgesamt zu wenig, um den Abfluss (personenbezogener) Daten zu verhindern, wie aktuelle App-Prüfungen des DB Navigators (Deutsche Bahn) und der Post & DHL App (Deutsche Post) zeigen. Beide Systeme schützen den Nutzer nicht bzw. nur unzureichend vor der (ungefragten) Datenerhebung durch Tracking-Dienstleister - daran ändert auch Apples App Tracking Transparency nichts, die auf dem Papier eine gute Figur macht, aber in der Praxis lediglich homöopathischen Nutzen hat. (...)"


Mike Kuketz hat einen guten Job gemacht, vor allem was IOS betrifft, ist der im weiteren Verlauf des Beitrags erwähnte Workaround mit Konfigurationsprofilen die Datensammelwut vieler Apps, z.B. der Deutschen Bahn oder DHL etc. einzuschränken ein cooler Move. Bisher war mir beispielsweise lediglich die Möglichkeit bekannt, beispielsweise über Safari Plugins die Spuren, die man zwangsläufig im Netz hinterlässt, zu minimieren, Apps selbst blieben so außen vor.

Für seine Arbeit sammelt Mike natürlich auch Geld, die Tipps sind jedoch kostenlos.

Telegram Combolists

Typische Darstellung eines Anonymous-Hackers mit Guy-Fawkes-Maske gekleidet in Jeans und Hoddie mit aufgesetzter Kapuze, der an einem Stehtisch sitzt und in eine Notebook tippt auf der Cebit 2016.
Typische Darstellung eines Anonymous-Hackers mit Guy-Fawkes-Maske auf der Cebit 2016.
Foto: Frank Schwichtenberg - Eigenes Werk Lizenz: CC BY 4.0
Kurze aber wichtige Durchsage: Telegram wurde letztens gehackt, (Telegram Combolists) dabei sind 361,468,099 Passwörter usw. erbeutet worden. Bitte ändert das Passwort (Menü/Privatsphäre und Sicherheit/zweistufige Bestätigung und dort auf zusätzliches Passwort erstellen). Am besten per Keepass(XC),  KeePassDX (Android) oder Keepass2Android oder bei IOS KeePassium, Strongbox oder ähnlichem Passwortsafe ein sicheres Passwort erstellen und dort einsetzen. Speichern in Keepass nicht vergessen! Darüber hinaus ist es eine gute Idee, bei https://haveibeenpwned.com nach eigenen Daten (Mail, Telefonnummern etc.), die in Hacks auftauchen nachzuschauen und sich auch bei Neuentdeckungen benachrichtigen zu lassen.

Das Telegram seine Benutzer nicht aktiv per Systemnachricht über das Sicherheitsleck informiert hat, ist dann auch nochmal ein ganz anderes Thema...

Nerdkram: EtherCalc via SSL Reverse Proxy

Weil man in den zahlreichen Anleitungen, wie man ethercalc mit nginx hinter einen Reverse Proxy setzt nicht enthalten ist, wie auf man diesen SSL verschlüsselt zugreifen kann dachte ich mir, ich mach das und blogge das auch gleich mal. Erstens weil ich ein Gedächtnis wie ein Sieb habe, zweitens als Fingerübung und drittens, weil das vielleicht jemand brauchen kann. Als SSL Zertifikat verwende ich das freie von Let's encrypt.

Die "# managed by certbot" Zeilen werden durch den certbot automatisch hinzugefügt. Also diese nicht einfach kopieren ;-) Die Konfguration in dem Beispiel setzt weiterhin voraus, daß ethercalc bereits installiert ist und auf Port 8000 lauscht. Zudem ist eine (sub)Domain ethercalc.domainname.de angenommen. Diese ist durch die eigene Domain zu ersetzen.

Zum Herumspielen habe ich hier einen ethercalc Server aufgesetzt. Nach 144 Stunden = 6 Tagen werden inaktive Spreadsheets gelöscht - also vorher lokal sichern!
Für die Aufrechterhaltung, Pflege und Datensicherung gebe ich keinerlei Gewähr!

Bei mayfirst.org ist eine virtual host Konfiguration verfügbar.

upstream ethercalc {
  server 127.0.0.1:8000; # Auf Port 8000 lauscht in diesem Beispiel ethercalc
}

server {
    server_name ethercalc.domainname.de;

    location / {
        proxy_pass http://ethercalc/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;

        proxy_redirect off;
    }

    listen 443 ssl; # managed by Certbot - über diesen Standard port für https ist der Reverse Proxy erreichbar
    ssl_certificate /etc/letsencrypt/live/ethercalc.domainname.de/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/ethercalc.domainname.de/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = ethercalc.domainname.de) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name ethercalc.domainname.de;
    return 404; # managed by Certbot

}

Ich freue mich über eine Unterstützung via Paypal über Liberapay oder auch ein paar Satoshis an: bc1qgthwzrszw48lw9jl8zjg94fp6w6xfkw0929vg0


Verwaltungsgerichtshof verweigert Prüfung des Brandschutzes bei Stuttgart21

Kläger Karlheinz Scherwinski / Photo Ulli Fetzer
Kläger Karlheinz Scherwinski / Photo Ulli Fetzer
Einmal mehr zeigt das heute zugegangene Urteil des VGH, dass es bei Stuttgart21 um mehr geht als um einen fehlgeplanten Bahnhof. Indem sich das Gericht die komplizierte Sache leicht machte und den Klagenden schlichtweg die Klagebefugnis verweigerte, verstellt es den Weg einer rechtsstaatlichen Klärung der schwerwiegenden Vorwürfe wegen lebensgefährdenden Mängeln beim Brandschutz in den S21-Tunneln.

Überraschend hatte der Verwaltungsgerichtshof (VGH) in Mannheim unmittelbar nach der gestrigen Verhandlung in Abwesenheit der Verfahrensbeteiligten die Klagen der Schutzgemeinschaft Filder e.V. (SGF) und dreier Privatpersonen gegen die Planfeststellungsbeschlüsse zum mangelhaften Brandschutz- und Rettungskonzept der S21-Tunnel zurückgewiesen und keine Revision zugelassen - trotz Ankündigung, man werde die Entscheidung sorgfältig beraten und am Donnerstag bekanntgeben.

Damit hat das Gericht ausgiebig Gebrauch gemacht von den gesetzlichen Spielräumen, Klägerrechte zu beschneiden, z.B. über extrem kurz bemessene Fristsetzungen. Recht und Rechtsprechung höhlen so den Rechtsschutz und damit den Rechtsstaat immer mehr aus. So wurde die Klagebefugnis sowohl der SGF als auch dreier namens des Aktionsbündnisses klagender Privatpersonen verneint und damit jegliche Erörterung der baulichen Mängel verweigert. Die auf Forderung des Gerichts benannten und zahlreich erschienen Sachverständigen waren umsonst angereist. Offensichtlich hatte sich das Gericht von vornherein die Mühe erspart, sich überhaupt mit deren Argumente befassen. Dazu Bündnissprecher Dieter Reicherter: „Damit verletzen die beteiligten Behörden ihr Pflichten zur sorgfältigen Prüfung der Unterlagen und Abwägung der Grundrechte auf Leben und Gesundheit“.

So geriet schon die Verhandlung zur Farce. Den Privatpersonen wurde das Klagerecht abgesprochen, weil sie nicht mehr betroffen seien als jede andere Bürger*in. Auch dass der an den Rollstuhl gefesselte Kläger Karlheinz Scherwinski hilflos betroffen sei, wenn ein Zug in dem 60km (geplant 110km), großen Tunnelnetz in Brand geriete, beeindruckte das Gericht nicht. Ebenso kalt wurde ignoriert, dass Scherwinski auf diese Weise weitgehend von der Nutzung der Bahn ausgeschlossen würde. Passend dazu ist ausgerechnet das VGH-Gerichtsgebäude nicht behindertengerecht ausgestaltet: Nur mit großen Umwegen konnte der Kläger mit seinem Rollstuhl überhaupt ins Gebäude gelangen. In die Toilettenkabine konnte er mit dem Rollstuhl gar nicht einfahren.

Auf die von Rechtsanwalt Dr. Eisenhart von Loeper engagiert vorgetragene Frage, wo wenn nicht beim obersten Verwaltungsgericht des Landes die betroffenen Bürger gegen ein offensichtlich lebensgefährliches Brandschutz- und Rettungskonzept klagen könnten, gab es keine Antwort. Auch dass bei einem Brandfall im Tunnel die Menschen nicht rechtzeitig vor Ausbreitung der tödlichen Rauchgase evakuiert werden könnten, blieb ohne Reaktion. Immerhin kann es im Fildertunnel, in dem gleichzeitig 3 Züge hintereinander fahren können sollen, bei voller Besetzung um Gesundheit und Leben von bis zu 11 000 Menschen gehen.

Frank Distel, stellvertretender Vorsitzender der Schutzgemeinschaft Filder: „Empörend, wie der VGH mit völlig einseitiger Auslegung der Satzung unseres Umweltfachverbands unsere Klageberechtigung gegen ein beim Brandschutz nicht zu verantwortendes Fehlprojekt verneint.". Auch dass die Freiwilligen Feuerwehren des Filderraums infolge mangelhafter Planung bei der Brandbekämpfung im Fildertunnel Lebensgefahren ausgesetzt würden, beeindruckte das Gericht nicht.

Der VGH hat mit der Nichtzulassung der Revision gegen seine Urteile gleich noch weitere juristische Hürden aufgebaut. Da es hier um die rechtliche Effizienz des grundrechtlichen Schutzes von Leib und Leben geht, prüfen die beim VGH unterlegenen Kläger den Gang zum Bundesverfassungsgericht.

Quelle: Pressemitteilung Aktionsbündnis

Verwaltungsgerichtshof Mannheim verhandelt mangelhaften Brandschutz in den S21-Tunneln: Stuttgart 21 vor entscheidender Hürde

Kläger Karlheinz Scherwinski / Photo Ulli Fetzer
Kläger Karlheinz Scherwinski / Photo Ulli Fetzer
Wird Stuttgart21 ähnlich wie Berlins Großflughafen BER über gravierende Sicherheitsmängel im Brandschutz stolpern? Konkret geht es bei der Klage am Dienstag, 21. November, um 14:00 Uhr beim VGH um die Frage: Hat die DB das Eisenbahn-Bundesamt (EBA) zur Erlangung der Baugenehmigung für die rund 60 km Tunnelröhren getäuscht? Mit diesem Vorwurf sehen sich die Kläger in guter Gesellschaft mit Ministerpräsident Kretschmann. Der hatte öffentlich geäußert, bei dem Projekt werde „getrickst und getäuscht“. Seine Vernehmung zu diesem Vorwurf wurde beantragt. Die Kläger, die als Umweltvereinigung anerkannte Schutzgemeinschaft Filder e.V. sowie drei Privatpersonen, werfen dem EBA vor, bei den Planfeststellungsverfahren habe es seine Prüfungspflichten sträflich vernachlässigt und Behauptungen der Bahn unbesehen übernommen. Ziel der Klage ist die wesentliche Änderung der Planfeststellung in puncto Brandschutz und, wenn dies bautechnisch nicht möglich ist, wie die Bahn bereits erklärt hat, die Aufhebung der Planfeststellung. Dies käme einem Baustopp bei Stuttgart21 gleich.

In der maßgeblichen EBA-Tunnelrichtlinie wird verlangt, dass das Rettungskonzept Selbst- und Fremdrettung gewährleisten muss. Dabei müssen Einzelheiten schon vor Erlass des Planfeststellungsbeschlusses festgelegt werden. Konkret geht es um den Fall, dass ein Zug in Brand gerät und in einer der 60 Tunnel-Kilometer (geplant sind weitere 45km) liegenbleibt. Die Röhren müssten zwingend so gebaut werden, dass sich die Zuginsassen vor Ausbreitung der tödlichen Rauchgase selbst retten könnten. Denn Feuerwehr und Rettungskräfte können nicht rechtzeitig zur Unglücksstelle gelangen.

Zwar hat die Bahn behauptet, in etwa 11 Minuten könnten sich die als Maximalzahl angenommenen 1757 Menschen aus einem Zug selbst retten. Allerdings hat sie im Verfahren inzwischen eingeräumt, dass in der Mobilität eingeschränkte Personen (Behinderte, Alte, Familien mit Kindern) hierbei nicht berücksichtigt wurden. Ferner hat sie zugegeben, dass sich diese Prüfung gar nicht auf einen Brandfall bezogen habe. Insbesondere aber hat sie nicht geprüft, wie viel Zeit zur Rettung bei einem Zugbrand überhaupt zur Verfügung steht. Die Kläger werden mithilfe von Sachverständigen, darunter die renommierte Brandschutzsachverständige Prof. Dr. Kathrin Grewolls, nachweisen, dass sich im Brandfall die tödlichen Rauchgase schneller ausbreiten als sich die Zuginsassen retten können, so dass die S21-Tunnel für sie zu einer unentrinnbaren Todesfalle würden.

Anders als bei vergleichbaren Eisenbahntunneln im In- und Ausland wurden bei den S 21- Tunnel aus Kostengründen die Tunnelquerschnitte und damit die Rettungswege zu klein bemessen. Dies bedeutet schnellere Rauchausbreitung und längere Evakuierungszeiten. Mit 500m sind die Abstände zwischen den Querschlägen zur Flucht in die Parallelröhre viel zu groß für eine rechtzeitige Eigenrettung. Bei der Zahl der zu Rettenden wird noch von 1757 Personen ausgegangen, obwohl die neu angeschafften Doppelstockzüge 3681 Menschen transportieren können. Der Sachverständige Dr. Christoph Engelhardt errechnet im Vergleich z.B. zum Katzenbergtunnel ein 16fach erhöhtes Risiko für das Scheitern einer rechtzeitigen Evakuierung.

Immer wieder gibt es Berichte über stundenlange Evakuierungen aus liegengebliebenen Zügen. Dass im Brandfall ein Bruchteil dieser Zeit ausreichen soll, ist nicht nachvollziehbar, insbesondere nicht für die Selbstrettung Mobilitätseingeschränkter. Hierzu haben die Kläger die Vernehmung des niedersächsischen Landtagsabgeordneten Grosch beantragt, der mit seinem Rollstuhl 2 Stunden lang nicht aus einem ICE evakuiert werden konnte. Dazu der Kläger Karlheinz Scherwinski: „Als Rollstuhlfahrer brauche ich die Bahn. Wegen des hohen Risikos im Brandfall sähe ich mich von der Bahnnutzung ausgeschlossen“.

Die Kläger sind sich der juristischen Schwierigkeiten bewusst, weil Gerichte in vergleichbaren Fällen bislang Privatpersonen trotz existentieller Betroffenheit die Klagebefugnis abgesprochen haben. In ihrem Kampf für den Schutz grundgesetzlich garantierter Rechte sehen sie sich aber bestärkt durch die Entscheidung des Bundesverfassungsgerichts, das einzelnen betroffenen Menschen Klagerechte gegen unzureichende Klimaschutzmaßnahmen zugesprochen hat. Dieter Reicherter, Sprecher des Aktionsbündnisses gegen Stuttgart 21 und einer der Kläger: „Dies muss insbesondere gelten, wenn die Behörden ihre Pflicht zum Schutz der Grundrechte vernachlässigen.“

Am selben Tag um 10:00 Uhr verhandelt der Verwaltungsgerichtshof zudem über eine weitere Klage der Schutzgemeinschaft Filder e.V. Diese wendet sich gegen eine Abänderung des Konzepts zur Verhinderung der Rauchausbreitung im Fildertunnel. Das Eisenbahn-Bundesamt hatte eine nachträgliche Änderung durch Einblasen von Luft und den Wegfall der vorgesehenen Rauchabschlusstüren genehmigt, obwohl damit die Evakuierung und auch die Sicherheit der Rettungskräfte beeinträchtigt wird.

Quelle: Pressemitteilung Aktionsbündnis

HowTo: Increasing the number of characters in posts in Mastodon 4.2.0

The Mastodon Logo
Das Mastodon Logo
The default character limit for new toots in Mastodon is 500. But what if you want to increase or decrease it? With Mastodon version 4.2.*, the previous instructions for adjusting or increasing the number of characters in posts are obsolete. Basically, the compose.js file is now called differently and must be edited in a different path. I show how, with a big thank you to drakfrid, whose instructions I have adapted accordingly:

We will edit three different files, two which set the character limit on your instance, and one which tells other clients or apps what your custom character limit is (for those that support it).

1. Switch to the mastodon user
su - mastodon

2. Edit the file live/app/javascript/mastodon/features/compose/component/compose_form.js in your favourite text editor,
nano live/app/javascript/mastodon/features/compose/components/compose_form.js

find the number 500 (it should be written in two different locations). Change both of them to whatever you like.

3. Edit live/app/validators/statuslengthvalidator.rb,
nano live/app/validators/status_length_validator.rb

and once again find the number 500 (should exist only once) and change it to the same number as you wrote in the previous file.

4. Edit live/app/serializers/rest/instance_serializer.rb,
nano live/app/serializers/rest/instance_serializer.rb

and find the row starting with
:languages, :registrations,
(should be the ~8th row), and change it so it includes ”:maxtootchars” after ”:registrations”, such as
:languages, :registrations, :maxtootchars,
where the full row now looks something like
:languages, :registrations, :maxtootchars, :approvalrequired, :invitesenabled

At the end of the same file, above where it says private, add the following code:
def max_toot_chars
   <your value here>
end

and change <your value here> to the same value you wrote previously.

5. Enter the live directory and recompile Mastodon,
RAILS_ENV=production bundle exec rails assets:precompile

6. Switch to the root user (with exit), and restart the Mastodon services,
systemctl restart mastodon-sidekiq
systemctl reload mastodon-web

and optionally restart the streaming API server,
systemctl restart mastodon-streaming

And you’re done! You should now be able to see the new character limit on your Mastodon instance.

Android: Beliebige Add-ons im mobilen Browser verwenden

Bis vor ein paar Tagen ging ich davon aus, daß bei Browsern auf mobilen Endgeräten, sei es unter Android oder IOS, keine Addons oder zumindest nur wenige installiert werden können. Eine Bekannte hatte mich wegen der beliebten "Nervenschoner" Erweiterung gefragt. Wegen der Hinweise auf den Seiten der Verbraucherzentrale Bayern wähnte ich mich jedenfalls im Recht. Dort heißt es klar:

Mobile Geräte

Das Nervenschoner-Plugin gibt es leider nicht für mobile Geräte.

Google und Apple haben die Standard-Browser ihrer Betriebssysteme Android und iOS für Plugins gesperrt.

Allerdings, meinte die Bekannte, ein befreundeter IT Mensch würde das Gegenteil behaupten. Kannnichsein. Also habe ich mich auf die Suche gemacht und was soll ich sagen: Es ist möglich, allerdings wohl nur mittels der Firefox-Nightly unter Android. Für IOS habe ich leider noch keinen freien Slot für eine Testflight Version von Firefox bekommen, daher kann ich hierzu nichts abschließendes sagen. Lange Rede, kurze Lösung: @DreQueary zeigt in diesem Video, welchen Weg er eingeschlagen hat. Er verwendet dazu "Firefox-Nightly" aus dem Google App Store.




Ich habe mitgeschrieben: Sobald Du Firefox Nightly heruntergeladen hast, tippst du auf die Drei Punkte im Programmfenster unten rechts. Gehe dann auf Einstellungen und dann scrollst Du ganz nach untern auf den Bildschirm, bis "Über Firefox Nightly". Antippen. Dann erscheint ein Versionshinweis mit dem blauen Firefox Logo. Tippe das 4 oder 5x an, bis eine Meldung erscheint, nachdem Du im Entwicklermodus bist. Danach startet Firefox Nightly neu, falls nicht kehrst Du zum vorigen Fenster zurüück.

Als nächstes benötigst Du einen Account bei Mozilla, um eine Add-on-Sammlung anlegen zu können, auf die Firefox dann zugreifen kann. Wenn Du Dich registriert hast, klickst du hier.

Benutzermenü mit der Mglichkeit, eine Addonsammlung anzulegenGib der Sammlung einen beliebigen kurzen Namen, ein paar Zeichen, z.B. Test reichen. eine Beschreibung ist nicht nötig, einfach das Anlegen der Sammlung bestätigen, in der dann erscheinenden Eingabemaske dann den Namen des gewünschten Add-ons eingeben, in diesem Fall "Nervenschoner" und dann in der erscheinenden Liste das Add-on anklicken. Es erscheint dann folgender Bildschirm:

Das Auswahlmenu für die Pluginsammlung
Die Sammlung ist mit diesem Plugin angelegt. Merke Dir Deine Sammlungsnummer, die Du gleich brauchst - im Beispiel gelb markiert (18047646). Nun wieder zum Browser. Sobald Firefox Nightly neu gestartet ist, gehst Du wieder über die 3 Punkte auf Einstellungen. Scrolle dann den Bildschirm runter, bis "Benutzerdefinierte Add-on-Sammlung" erscheint. Tippe das an. In das erscheinende Menü gibst Du ein:

(1. Zeile:) 18047646
(2. Zeile:) Test

Dann auf Ok. drücken. Firefox startet neu.

Dann kannst Du im Einstellungsmenü von Firefox-Nightly das ausgewählte Add-on aktivieren. Tippe dazu Auf Add-ons. Wenn Du auf den Add-on Namen tippst, kommst Du in die Einstellungen des jeweiligen Add-ons und kannst da herum erxperimentieren.

Kaputtmachen kannst du nichts.  Du kannst den Firefox Nightly auch als Standardbrowser einstellen, das geht auch über die Einstellungen im Programm.

Debian: add-apt-repository Fehlerbehebung

Bei der Verwendung des Softwareinstallationsscriptes add-apt-repository - das im Paket software-properties-common enthalten ist - auf Debian 12 kommt es zu folgender Fehlermeldung:

sudo add-apt-repository ppa:bashtop-monitor/bashtop
Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 362, in
    sys.exit(0 if addaptrepo.main() else 1)
                  ^^^^^^^^^^^^^^^^^
  File "/usr/bin/add-apt-repository", line 345, in main
    shortcut = handler(source, *shortcut_params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/softwareproperties/shortcuts.py", line 40, in shortcut_handler
    return handler(shortcut, *kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 86, in init
    if self.lpppa.publishdebugsymbols:
       ^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 126, in lpppa
    self.lpppa = self.lpteam.getPPAByName(name=self.ppaname)
                  ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 113, in lpteam
    self.lpteam = self.lp.people(self.teamname)
                   ^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'people'

Was ärgerlich ist, kann doch mit diesem Script eine Softwarequelle einfach zu den Systemquellen des Rechners hinzugefügt werden ohne sich groß mit den nötigen gpg Keys usw. befassen zu müssen - diese werden nämlich gleich mit heruntergeladen und installiert. Ein guter Komfortgewinn für faule User. ;-)

Die Fehlermeldung kommt von der fehlenden Python Bibliothek python3-launchpadlib. Nach Installation derselben funktioniert add-apt-repository einwandfrei.

Nach einem Hinweis von dieser Quelle bearbeitet.


Wiederkehrende Aufgaben auf Synology Diskstation mit systemd statt cron erledigen

Die Auswahl für die Wartungsaufgaben im NextCloud Interface
Die Auswahl für die Wartungsaufgaben im NextCloud Interface
Bei der Installation eines NextCloud Servers nach der Anleitung von Rafael Nockmann auf einer Synology Diskstation fiel mir auf, daß die zum Betrieb notwendigen cronjobs nicht funktionieren. Synology biegt offenbar so einiges im DSM System um. Da dieses jedoch auf Linux basiert, gibt es Hoffnung. ;-)

Zum Glück braucht es für wiederkehrende Aufgaben wie in diesem Fall nicht zwingend den cron Daemon, auch über systemd gibt es die Möglichkeit, solche zu erledigen. Langer Vorrede kurzer Sinn:

1. per ssh auf die Diskstation einloggen und dann als root per sudo -iH weitermachen. Alternativ als normaler User arbeiten und vor die Befehle dann sudo stellen.

2. mit nano /etc/systemd/system/nextcloudcron.service eine Datei mit folgendem Inhalt anlegen:

[Unit]

Description=Nextcloud cron.php job

[Service]

User=root

ExecStart=/bin/sudo -u http /usr/local/bin/php82 --define apc.enable_cli=1 /volume1/web/nextcloud_app/cron.php

KillMode=process

3. mit nano /etc/systemd/system/nextcloudcron.timer eine Datei mit folgendem Inhalt anlegen:

[Unit]

Description=Run Nextcloud cron.php every 5 minutes

[Timer]

OnBootSec=5min

OnUnitActiveSec=5min

Unit=nextcloudcron.service

[Install]

WantedBy=timers.target

4. mit systemctl enable nextcloudcron.timer die Änderungen aktivieren.

5. Diskstation neu starten und in NextCloud / Grundeinstellungen kontrollieren, ob der gewünschte Erfolg eingetreten ist.

6. Freuen :-)

Anmerkung: in nextcloudcron.service läuft der Dienst als Benutzer root, der per sudo den User http den Befehl /usr/local/bin/php82 --define apc.enable_cli=1 /volume1/web/nextcloud_app/cron.php ausführen lässt. Leider ist es - zumindest bei mir - nicht möglich, den Dienst als User http laufen zu lassen, ohne noch tiefer ins System einzugreifen.

Die Quelle: NextCloud
Hinweis: Einige der Links in diesem Beitrag beziehen sich auf Affilate-Links. Wenn Sie eines der verlinkten Produkte kaufen, unterstützen Sie mich. Das Produkt selbst wird Sie nicht mehr kosten als üblich. Vielen Dank dafür.

Note: Some of the links in this post refer to affilate links. If you buy one of the linked products, you support me. The product itself will not cost you more than usual. Thank you.
cronjob