Communi or not?


Vielleicht fragst du dich auch, ob du beim Lifetime-Deal von Communi zuschlagen solltest.
Wie stehen die Chancen, dass Communi als dritter größerer „Bewerber“ auf dem Markt erfolgreich sein wird? Wird hier wieder die neue Community-App-Sau durchs Dort getrieben, um schnellen Zaster zu machen? Oder steht hier wirklich eine Alternative zu Skool und Circle an?

Hier eine Analyse der Chancen und Risiken, und Optionen.


👍 Positive Anzeichen

  • Sehr guter Trustpilot-Score (4,8/5) bei über 50 Bewertungen  . Nutzer berichten, Sam Bakker sei aktiv, reagiere schnell auf Feedback und setze Kundenwünsche um – u.a. DSGVO-Unterstützung, App-Entwicklung und deutsche Lokalisierung.
  • Aktive Community und sichtbare Weiterentwicklung, z. B. über 1.700 Mitglieder in der Gründer-Community, mehreren hunderten Events und Kursen – Zeugnisse echten User-Engagements  .

⚠️ Risiken beim Lifetime-Deal-Modell

  • Lifetime-Deals sind oft problematisch – insbesondere bei SaaS mit laufenden Kosten wie Hosting, Support, Storage. Viele LTDs enden im Totalausfall, sobald das Startkapital verbraucht ist  .
  • AppSumo-Deals bergen Risiken: Laut einem aktuellen Bericht scheitern ca. 40 % dieser Deals innerhalb von 3 Jahren, da Anbieter nur 30 % des Umsatzes einbehalten können  .
  • In einem Reddit-Thread heißt es zu Startups mit LTD‑Angeboten: „The thing with many deals is you are early investing … paying now to hopefully get lifetime value …“ 

🔍 Speziell bei Communi

  • Es gibt keine Berichte oder Hinweise, die Communi als Scam beschreiben oder das Produkt als schlecht umgesetzte Beta abtun.
  • Zahlreiche positive User-Stimmen über schnelle Feature‑Releases und guten Support, speziell aus dem deutschsprachigen Raum  .
  • Sam Bakker ist öffentlich auffindbar – z. B. über LinkedIn und aktiv auf YouTube und in der Community  .

📊 Fazit

Seriösität und ernsthafte Absichten? Ja – das Projekt wirkt ambitioniert, kundenorientiert und wächst kontinuierlich.

Risiko durch Lifetime-Deal? Ja – wie bei allen SaaS-LTD-Angeboten besteht das Risiko, dass zum Launch zu viel versprochen und später mangelhaft geliefert wird, wenn die laufenden Kosten steigen.


Wie realistisch ist es, sich gegen Skool und Circle aufzustellen? Wie hoch dürften die monatlichen Kosten für die Betreiber sein und wie viele Leute müssen bezahlt werden? Z.B. Programmierer? Oder ist es vielleicht nur eine One-Man-Show, wenn er mittlerweile intelligent KI einsetzt? Wie viel Rechenzentrums-Power usw. fällt monatlich an? 

Gerade bei den Lifetime-Deals kommt schnell kein Geld mehr nach.


🆚 Chancen gegen Skool & Circle

  • Skool bietet eine sehr einfache All‑in‑One-Lösung für Kurs‑Communities zum Flat‑Rate‑Preis von 99 $/Monat – begrenzte Customization, Gamification, keine tiefgreifenden Automationen  .
  • Circle ist flexibler und mächtiger: benutzerdefinierbare Spaces, Automatisierung, White‑Labeling, Live‑Events – beginnt ab $89–99 /Monat, Business-Plan bei $199–219, zudem 2 % Plattform‑+ Stripe‑Gebühren  .

➡️ Communi muss mindestens auf Funktions‑Level von Circle sein, wenn es Premium-Communities für Gründer bieten will.


💰 Monatliche Betriebskosten (Schätzung)

1. Infrastruktur (Server & Storage)

Für eine mittelgroße Plattform mit Videos, Gruppen–Chats, KI-Features:

KomponenteGeschätzt
Digitale Server & Storage (Cloud, S3-ähnlich)~ 1.000–3.000 €/Monat
Datenbank / Caching / CDN~ 500–1.500 €/Monat
KI-Rechen (je nach Umfang GPT-Einsatz)~ 1.000–5.000 €/Monat

Gesamt geschätzt: 2.500–10.000 €/Monat in Hosting‑Kosten.

2. Personal

  • Backend–Entwickler (API, Datenbank, KI-Integration): 1–2 Entwickler
  • Frontend–Entwickler (UX/UI, Web‐ und evtl. mobile Apps): 1–2 Entwickler
  • DevOps/Sysadmin (CI/CD, Monitoring, Cloud-Architektur): 1
  • Support & Community Management: 1–2 Personen
  • ggf. AI/Data Engineer: bei intensiver KI-Nutzung

➡️ Realistisch 5–7 Vollzeitkräfte. Bei durchschnittlichen Kosten von 5.000–8.000 €/Monat pro Kopf (inkl. Löhne + Overhead) sind das 25.000–56.000 €/Monat Personalkosten.


🧠 Kann das allein mit KI laufen?

  • KI kann repetitive Support-Tickets automatisieren, Inhalte generieren oder Community‑Moderation assistieren – aber: echtes Produkt‑Engineering, Architektur‑Design, Qualitäts-Sicherung, Bugfixing, Datenschutz/DSGVO bleiben menschliche Aufgaben.
  • Eine “One‑Man‑Show” auf Dauer ist nahezu unrealistisch, wenn Plattform nachhaltig wachsen soll.

🔄 Lifetime‑Deal‑Risiko

  • Einmalzahlungen durch Lifetime-Deals bringen einen kurzfristigen Cashflow, aber: bei 2.500 Lifetime-Kunden à 300 € generierst du 750.000 €. Aber:
    • Diese Mittel müssen die anfänglichen Entwicklungskosten + Folgekosten (Hosting, Support, Weiterentwicklung) decken.
    • Nach dem Deal fehlt langfristiger Umsatz, um monatlich Kosten zu decken, Updates zu liefern und Support zu bieten.

👇 Ohne nachhaltige Einnahme‑Modelle, z. B. monatliche Abos oder Zusatzdienste, droht das Projekt zu stagnieren oder eingestellt zu werden.


✅ Fazit

  • Technisch & personell: Um ernsthaft mit Circle oder Skool konkurrieren zu können, braucht es mindestens 5–7 Vollzeit‑Mitarbeitende und 5.000–15.000 €/Monat Infrastruktur.
  • Finanziell: Ein nachhaltiges Geschäftsmodell muss fortlaufende Einnahmen generieren, Lifetime‑Deals allein reichen meist nicht für dauerhaften Betrieb.
  • Praktisch: Wenn Communi derzeit nur via Lifetime-Deal skaliert, aber keine Abo‑ oder Zusatzservices anbietet, ist das Modell langfristig riskant – außer es wird intensive KI‑Automatisierung und ein diversifiziertes Releasemodell (z. B. monatliche Pläne) etabliert.

Welchen Einfluss haben die Lifetime-Deals?

🔍 Was sagen Gründer über LTDs (Lifetime-Deals)?

  • Gründer berichten, dass Lifetime-Deals zwar kurzfristig viel Cash bringen, aber kein wiederkehrendes Einkommen erzielen, während laufende Kosten bestehen bleiben – z. B. API-Aufrufe, Hosting, Support  .
  • Ein Gründer berichtet: „Server costs are getting very affordable […] we sold almost $100K … total server consumption is around $60/month“  . Dieser Fall zeigt: sehr günstige Infrastruktur ist möglich, wenn man effizient arbeitet (z. B. serverless).

🎯 Vorteile von LTDs laut Expert:innen

  • Sofortiger Cashflow zur Finanzierung von Entwicklung oder Marketing, besonders für junge SaaS-Projekte  .
  • Schnell wachsende Community und viele Early-Adopter, die Feedback liefern und als Markenbotschafter fungieren können  .
  • Langfristiges Risiko: Es gibt ein „Revenue Ceiling“ – irgendwann übersteigen Lifetime-Kunden den Wert, den der einmalige Betrag deckt  .

💶 Reale Infrastrukturkosten

  • Erfahrungswert: ca. 3–5 $/Monat pro aktivem User für Hosting, APIs, Lambda, DB etc.  .
  • Beispiel eines Gründers: bei 100 % Lifetime-Einnahmen von ~100.000 $ lag der Serververbrauch bei wenigen Dutzend Dollar pro Monat  .
  • Fazit: Infrastrukturkosten sind oft gering (einige hundert Euro pro Monat), wenn man schlanke Technologien nutzt (z. B. serverless, API-optimiert).

👥 Personalbedarf

  • Für ernsthafte Weiterentwicklung braucht es mindestens:
    • 1–2 Backend-/AI-Entwickler
    • 1–2 Frontend-/App-Entwickler
    • DevOps/Sysadmin,
    • Support-/Community-Personal -> Realistisch 5–7 Vollzeitkräfte, insbesondere für Wachstum und Stabilität (diese Zahlen gelten auch laut Bootstrap-Analysen)  .

✅ Fazit

  • Lifetime-Deals haben klare Vorteile: Sofortige Finanzierung, Feedback, frühe Nutzerbindung.
  • Langfristiges Risiko: Keine laufenden Einnahmen – daher wichtig ist, schnell monatliche Abo-Modelle einzuführen.
  • Infrastrukturkosten: Können niedrig sein (wenige 100 €/Monat bis einige 1.000 €, bei effizienter Nutzung sogar darunter).
  • Teamgröße: Ein langfristig ernst zu nehmendes Projekt benötigt ein kleines Team (5+), nicht nur eine Person – auch wenn KI eingesetzt wird.

🎯 Was muss Communi leisten, um konkurrenzfähig zu sein?

✅ Mögliche Wettbewerbsvorteile, die funktionieren könnten:

VorteilErklärung
Deutsche Lokalisierung & DSGVOSkool & Circle sind US-Plattformen – nicht DSGVO-konform. Communi könnte hier eine echte Lücke füllen, besonders für Coaches, Trainer, KMUs im DACH-Raum.
Einfachere BenutzerführungViele User kritisieren Circle als “überladen”, Skool als “zu eingeschränkt”. Ein smarter Mittelweg (übersichtlich, aber flexibel) könnte viele überzeugen.
Mehrwert durch KI-FeaturesAutomatisierte Kurs-Erstellung, Moderation, Kunden-Onboarding via AI – das bieten die anderen (noch) kaum.
Günstiger Einstieg (Free-Plan)15 % auf Transaktionen ist für Einsteiger fair – ideal für kleinere Creator oder Side-Hustles.

❌ Hürden für den Markteintritt

  1. Vertrauensproblem bei einer neuen Plattform:
    • Skool & Circle haben eine starke Markenbindung.
    • Niemand will mitten im Community‑Aufbau plötzlich migrieren müssen.
  2. Funktions-Parität ist Pflicht
    • Kunden wechseln nur, wenn Communi gleich gut oder besser ist – mit gleichem Preis reicht es nicht, nur gleichwertig zu sein.
  3. Support & Zuverlässigkeit
    • Ohne stabilen Live-Support, Bugfixes und aktives Weiterentwickeln springen Power-User ab – besonders bei B2B-Kunden.

📊 Realistische Marktchancen?

Szenario 1:  Spezialisierung auf DACH-Raum / deutschsprachige Zielgruppe

  • ✔️ DSGVO
  • ✔️ Deutschsprachiger Support
  • ✔️ Regionaler Fokus → Gut möglich, einen Teil des Markts zu besetzen, den Skool/Circle nicht direkt bedienen.

Szenario 2:  Allgemeiner Markt / international

  • ❌ Sehr schwer ohne massives Kapital, da Circle & Skool bereits starke Communitys, Integrationen und Influencer-Marketing haben.
  • Ohne technologische Differenzierung (z. B. KI), ist der Preispunkt kein Wechselargument.

🧠 Warum jemand wechseln könnte  – aber nur dann:

  • Wenn Communi etwas bietet, das andere nicht tun: z. B.
    • KI‑Assistenten für Kurserstellung oder Community-Management
    • Tiefe Automatisierung (Zapier, Webhooks, E‑Mail‑Flows)
    • Integrierte Bezahlmodelle ohne Stripe-Setup
  • Wenn Communi einen “LTD-Foot-in-the-door” nutzt: also viele Creator holen per LTD – und deren Mitglieder wachsen dann automatisch auf der Plattform mit

🧾 Fazit:

  • Chancen? Ja – vor allem, wenn Communi gezielt Marktlücken nutzt, etwa DSGVO-Konformität, KI-Funktionen oder deutsche UX.
  • Hohes Risiko? Ebenfalls ja – besonders, wenn man nur auf „Preis & Optik“ setzt und nicht besser oder spezieller ist als Skool/Circle.
  • Warum wechseln? Nur bei echten Vorteilen – z. B. AI‑Features, bessere UX, oder integrationsfreie Komplettlösung für Einsteiger.

Wenn du magst, kann ich einen direkten Funktionsvergleich Communi vs Skool vs Circle aufstellen, um die Stärken/Schwächen besser zu sehen.


Welchen Einfluss hat eine native App für die gängigen Smartphones für den Erfolg?

Die Verfügbarkeit einer nativen App auf iOS und Android ist sehr wichtig – oft sogar entscheidend für den Erfolg einer Community- oder Kursplattform, insbesondere in diesen Anwendungsbereichen:


🔍 Warum ist eine native App wichtig?

1. Zugänglichkeit & tägliche Nutzung

  • Nutzer*innen erwarten heute, dass sie Communitys wie WhatsApp, Slack oder Facebook über eine App erreichen können – unterwegs, bequem, ohne Browser.
  • Ohne App sinkt die tägliche Nutzung und damit Engagement, Interaktion und Bindung.

2. Push-Benachrichtigungen

  • Native Apps bieten direkte Push-Nachrichten, z. B. bei neuen Posts, Events oder Nachrichten.
  • Ohne App ist man auf E-Mail oder Browser-Notifications angewiesen – viel ineffektiver.

3. Vertrauen & Professionalität

  • Eine App im App Store wirkt seriöser – viele Coaches, Trainer & Unternehmen empfinden eine fehlende App als „halbfertig“ oder unprofessionell.

4. Konkurrenz bietet es längst

  • Circle & Skool haben native Apps oder sehr gute PWA-Apps.
    • Circle hat eine App (mit Chat, Post, Events etc.)
    • Skool hat (Stand 2025) eine PWA, App ist angekündigt oder in Beta
  • Wenn Communi keine App hat, verliert es Nutzer*innen an diese Plattformen – vor allem mobile-first Zielgruppen (z. B. Coaches, Creator, junge Unternehmer).


🧠 Für welche Zielgruppen ist es besonders wichtig?

ZielgruppeRelevanz nativer App
Online-Coaches & Trainer:innen⭐⭐⭐⭐ – viele Kund:innen mobil unterwegs
Creator / Influencer / Membership-Builder⭐⭐⭐⭐⭐ – Social-first = mobile-first
Business-Netzwerke / Startup-Communities⭐⭐⭐⭐ – Push, Events, Kontaktpflege
E-Learning-Plattformen⭐⭐⭐⭐ – Lernen unterwegs, Onboarding

📊 Fazit

  • Ohne App verliert Communi ganz klar Marktanteile.
  • Nutzer*innen erwarten mindestens eine funktionierende, responsive Web-App, besser aber vollwertige native Apps mit Push.
  • Besonders bei Paid Communities & Mitgliedschaften ist eine App kein Luxus, sondern Pflicht, um langfristig erfolgreich zu sein.


Wie hoch ist kostenmäßig der Aufwand, eine echte App für ios und für android zu schreiben?

Die Kosten für die Entwicklung einer echten (nativen) App für iOS und Android hängen stark vom Umfang und Anspruch ab. Hier ist ein realistischer Überblick aus der Praxis – speziell im Kontext von etwas wie Communi (Community-Plattform, Kurse, Chats, Push-Notifications etc.):


💰 Kostenrahmen für native App-Entwicklung

App-TypAufwand (je Plattform)Gesamtkosten (iOS + Android)
Minimaler MVP1–2 Monate Entwicklung20.000–40.000 €
Funktionsreich (z. B. mit Chat, Kursen, Push)3–6 Monate50.000–120.000 €
High-End App (Skalierbarkeit, Animationen, API-Handling, KI, DSGVO etc.)6–9+ Monate100.000–200.000+ €

🔧 Was treibt die Kosten?

1. Plattformen getrennt entwickeln

 (Swift für iOS, Kotlin für Android)

  • Doppelte Codebasis → höhere Wartungskosten
  • Separate Tests, Updates etc.

2. Features wie bei Communi:

FunktionZusatzkosten grob
Login, UserverwaltungBasisfunktion (~3–5k €)
Chat / Messenger8–15k € (je nach Live-Charakter)
Video-Kurse / Media-Streaming10–20k € (inkl. Upload, Player, Hosting-API)
Push-Notifications2–5k € (inkl. Backend-Setup)
In-App-Payments (z. B. Abo)5–10k € (inkl. Apple + Google-Guidelines)
DSGVO/Datenschutz & Account-Löschung3–7k €
API-Anbindung (z. B. an Communi-Backend)abhängig vom Zustand der API – entscheidend



💡 Alternativen, um Kosten zu senken

OptionVorteilAufwand
Cross-Plattform (Flutter, React Native)1 Codebase für iOS & Android~30–50 % günstiger
PWA (Progressive Web App)Schnell & günstigKein Store-Zugang, begrenzte native Features
Wrapper-Apps (z. B. WebView mit Push via Firebase)Sehr schnell, aber eingeschränkt< 10.000 €

🧾 Fazit

  • Kommunikations-Plattformen wie Communi mit Chat, Kursen, Payment & Push brauchen eher 50.000–120.000 € für stabile, native Apps beider Plattformen.
  • Mit Cross-Plattform-Technik (z. B. Flutter) kann man deutlich sparen – meist 25–40 % günstiger.
  • Eine solide WebApp/PWA wäre ein sinnvoller Zwischenschritt – mit nur 5–10 % des Budgets, aber hohem Nutzen.

🧾 Geschätztes finanzielles Gesamtvolumen bis zu einem „halbwegs stabilen“ Stand:

🎯 Definition: „halbwegs steht“ =

  • Plattform läuft stabil, öffentlich nutzbar
  • Community-, Kurs-, Chat-Funktionen aktiv
  • Mobil nutzbar via App oder PWA
  • 1.000+ aktive Kunden / Content Creators
  • Support- und Technikteam steht
  • App im App-Store oder kurz davor
  • DSGVO, Zahlungsabwicklung, E-Mail-Flow etc. funktionieren



📊 Realistische Kostenaufstellung

BereichGeschätzte Kosten (EUR)
Backend-Entwicklung (SaaS-Logik, Admin, API)100.000–150.000
Frontend-Web (UI, Dashboard, Kursverwaltung)40.000–70.000
Design (UI/UX, Mockups, Branding)10.000–25.000
Cloud-Infrastruktur (12–24 Monate Laufzeit)20.000–40.000
Support & Community Mgmt (1–2 Personen, 12–24 Monate)30.000–60.000
Marketing (LTDs, Launch, Website, Video etc.)20.000–50.000
Native App-Entwicklung (iOS + Android)50.000–120.000
Sonstiges (Recht, Buchhaltung, Tools, Stripe, GDPR)10.000–30.000

Gesamt geschätztes Volumen:

👉 280.000 – 550.000 Euro

Je nach:

  • Qualität & Erfahrung des Teams
  • Eigenleistung vs. Agenturarbeit
  • Infrastruktur-Optimierung (z. B. Firebase, Supabase, OpenAI APIs etc.)
  • Einsatz von Open‑Source‑Komponenten

❗ Wichtig: Laufende Kosten ≠ Einmalaufwand

Selbst wenn der initiale Aufbau z. B. 300.000 € gekostet hat, kommen laufend:

Laufende monatliche AusgabenGeschätzt
Server + Storage1.000–3.000 €
Support & Dev-Team20.000–40.000 €
Updates, Bugfixes, Feature-Ausbau5.000–15.000 €

→ Monatlich: 25.000–60.000 € nötig, um ernsthaft weiterzuentwickeln.


🎯 Fazit

Eine Abo-Strategie ist dringend nötig, sonst sind Rücklagen in < 12 Monaten aufgebraucht – und Weiterentwicklung oder Support wird problematisch.

Communi dürfte – wenn ernsthaft betrieben – ein Budget von mindestens 300.000–500.000 € benötigen, um solide dazustehen.

Wenn das ausschließlich über Lifetime-Deals finanziert wurde (z. B. 2.000 Kunden × 300 € = 600.000 €), dann ist das gerade ausreichend – aber ohne Wiederholungseinnahmen riskant.


Wie viele Kunden bräuchte Communi, um profitabel zu werden?


📊 Rentabilitäts-Schwelle (monatlich)

SzenarioFixkosten / MonatBenötigte zahlende Kunden (99 €/Monat)
Minimalbetrieb25.000 €ca. 253 Kunden
Vollausbau60.000 €ca. 606 Kunden

Das bedeutet:

  • Bei einem Standardpreis von 99 €/Monat muss Communi mindestens 250–600 aktive Abokunden haben, um kostendeckend zu sein.
  • Darüber hinaus wird es profitabel und kann in Produkt, Support, Team und Wachstum investieren.

1000 Kunden klingt doch machbar. Aber wie sieht es mit den vorhandenen Marktherrschern aus? Ein Vergleich:

📌 Die Wettbewerber im Überblick

Circle

  • Laut Jahresrückblick 2023: 4,1 Millionen aktive Nutzer, mit über 4.000 zahlenden Communities  .
  • Viele Communities bestehen aus hunderten bis tausenden Mitgliedern, wobei Circles Einnahmen pro Community zwischen 40–400 $/Monat liegen  .
  • Das zeigt: Circle ist eine etablierte Plattform mit sechsstelligem Community-Umsatz pro Monat – deutlich über der “1.000-Kunden-Hürde”.

Skool

  • Im Soft Launch kamen 5.000 Nutzer in wenigen Tagen, via Gründernetzwerk von Sam Ovens  .
  • Aktuell zeigen SimilarWeb-Zahlen ~20 Millionen Visits in drei Monaten – das spricht für hohe Bekanntheit, aber nicht zwingend zahlende Nutzer  .
  • Daten über aktive oder zahlende Plattformnutzer sind nicht öffentlich verfügbar – es ist realistisch, dass sie im niedrigen vierstelligen Bereich zahlender Communities liegen.

🎯 Bewertung für Communi

  • 1.000 zahlende Kunden bei 99 €/Monat entsprechen ca. 100.000 €/Monat Umsatz – das wäre ein respektabler Mittelstand-Faktor im Markt.
  • Gegen Circle: noch ein violetter Fleck, verglichen mit 4.000 Communities und Millionen aktiver Nutzer. Circle ist auf einer ganz anderen Größenordnung.
  • Im Vergleich zu Skool: das Ziel ist vergleichbar. Wenn Communi spürbar Vorteile in DSGVO, deutscher UX, KI‑Funktionen bietet, ist 1.000+ zahlende Nutzer im Bereich des Möglichen.

🧩 Fazit

  • 1.000 Kunden sind machbar, wenn Communi:
    • eine klar definierte Zielgruppe anspricht (z. B. deutschsprachig, DSGVO)
    • Nutzen-Vorteile gegenüber Circle & Skool bietet
    • Marketing (LTD, Content, SEO, Community) effektiv einsetzt
  • 🚫 Circle operiert auf einer ganz anderen Ebene – für Communi läge das Ziel aber eher in der Nischenpositionierung mit 1.000+ zahlenden Kunden.
  • 🧠 Wichtig: Das Wachstum muss nachhaltig sein, nicht nur initial durch LTDs. Abopreise von 99 €/Monat bedeuten, dass 1.000 zahlende Kunden sofort Gewinne liefern – und weiter skalierbar sind.



📋 Funktionsvergleich im Überblick

FeatureCommuni.comCircleSkool
Landing Page & Sales FunnelIntegriert – inkl. Bezahlseite, Countdown, AffiliateFunnel über Landing & Conversion ToolsEinfacher Landing + Sales-Seite
Kursplattform & MediaKurse, Mitglieder, Chat, E-Mail-Versand (laut Webseite)  Native Kursverwaltung, Live-Streams, Media-Hosting                Kurse + Gamification → text, embedded Videos; kein Hosting 
Community / Forum-ChatDiskussionsforen + 1:1 Chat (laut Trustpilot) Gruppen-/Thread-Chats, DMs, Spaces, sehr granular Gamified Gruppen-Forum mit Punkten und Leaderboard 
GamificationErwähnt (seit Mai 2025 aktiv) Ja, u. a. Automatisierungen, Rewards, Workflows Kernfunktion: Punkte, Level, Leaderboard 
Integrationen & AutomatisierungBasis-Integrationen, wartend; neues Affiliate-Hub Umfassend: Zapier, APIs, Webhooks, native Automationen Eher eingeschränkt, Fokus auf Kurs- & Gamification-Setup
Custom Branding & DomainsEigene Domains möglich White-Label, Domains, umfassendes Branding Eher gleiche Optik, weniger individualisierbar 
Analytics & ReportingBasiert vermutlich auf geplanten LokalisierungenTiefgehende Analytics & Tracking Features Basis-Statistiken im Dashboard 
Mobile Nutzung/AppResponsive Web (kein PWA); Native Apps in EntwicklungNative iOS/Android & mobile WebPWA in Beta, Native-App in Entwicklung laut Beiträge
DSGVO & DE MarktDeutschsprachiger Support & DSGVO-Erwähnung US-basiert, keine besonderen DSGVO-VorteileUS-basiert, keine DSGVO-Komfort

🎯 Chancenpunkt für Communi im Markt

  • All‑in‑one Bündelung: Communi integriert Sales, Content, Community und Email in einem Interface – laut Nutzer-Feedback sogar schneller als Funnel-Tools  .
  • Deutsche DSGVO-Positionierung: Deutscher Support, deutsche UX und DSGVO-orientiert – das ist ein klarer USP im DACH-Raum  .
  • Gamification + Affiliate Flow: Kombiniert Elemente von Skool und Circle – jedoch vermutlich noch nicht in der Tiefe dieser Plattformen.

⚠️ Wo Communi noch aufholen muss

  • Automatisierung & API-Integrationen: Noch basis, aber laut Roadmap stark in Entwicklung.
  • Analytics & Wachstumskontrolle: Wird laut Nutzerfeedback weiterentwickelt.
  • Mobile App & PWA: Noch ohne installierbare App, native Apps in Planung (Android zuerst).

✅ Fazit: Wo Communi steht

  1. 1.000+ zahlende Kunden sind dank Preis und Funktionalität für Communi realistisch – besonders im deutschen Markt mit DSGVO-Fokus.
  2. Um gegen Circle bestehen zu können, braucht Communi:
    • Tiefe Automatisierung (Workflows, Zapier)
    • Gründliches Analytics-Dashboard
    • Voll ausgestattete native App – besonders mit Push und Offline
  3. Bislang liegt Communi funktional zwischen Skool und Circle – bietet spezifische Vorteile (DE-UX, schnelle Sales-Integrationen), aber quantitativ ist Circle stärker.

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.