Archiv ‘Schweiz’

Sonntag, 3. Juni 2018

Init7 TV7: Offizielle TV7-App für Apple TV

Da ich heute Fiber7s TV7 auf einem Apple TV installieren durfte, auf welchem eine schweizerische Apple ID konfiguriert ist, weiss ich nun endlich, wie die App wirklich heisst:

Wieso ich das hier poste? Auf unserem Apple TV hier zu Hause habe ich die App nicht gefunden, weil unser Apple TV mit einer — man verzeihe es uns — us-amerikanischen Apple ID konfiguriert ist und wir somit nur den us-amerikanischen App Store durchsuchen können.

Auf Init7/Fiber7s Homepage wird die App zwar mehrere Male erwähnt, hingegen aber nicht, wie sie offiziell heisst. Auch wird nirgends erwähnt, dass sie nur aus dem schweizerischen App Store heruntergeladen werden kann. Letzteren Entscheid würde ich überdenken, da der Anteil an eingewanderten, hochqualifizierten Fiber7-Nutzern sehr hoch sein sollte — und die mögen es in der Regel nicht, eine zweite Apple ID für ihr Leben in der Schweiz zu lösen.

Schick wäre übrigens auch, wenn TV7 analog zu Salt beim erstmaligen Einrichten eines Apple TV 4 oder 4K einen eigenen Bildschirm zur Konfiguration erhielte.

Tags: , , , , , , , ,
Labels: Apple, IT, Leben, Medien, Schweiz

9 Kommentare | neuen Kommentar verfassen

Donnerstag, 31. Mai 2018

Init7 TV7: Installation mit einem Ubiquiti Edgerouter X SFP

(Folgeartikel zum Artikel Init7 TV7: Installation mit einem Turris Omnia-Router)

An einem Zweitstandort betreibe ich einen Ubiquiti Edgerouter X SFP (Firmware v1.10.0) mit einem offiziellen FlexOptix-Transceiver von Fiber7. Damit dieser Router IPTV-Multicast ins LAN weiterleitet, waren folgende Anpassungen an der Konfiguration nötig (hat mich 90 Minuten meines Lebens gekostet):

Firewall

Auf rudimentärem Deutsch: Lasse IGMP sowie Multicast UDP durch die Firewall gegen das Internet

...
firewall {
    ...
    name WAN_IN {
        ...
        rule 4 {
            action accept
            description "Allow IGMP (max)"
            log disable
            protocol igmp
        }
        rule 5 {
            action accept
            description "Allow Multicast"
            destination {
                address 224.0.0.0/4
            }
            log disable
        }
    }
    name WAN_LOCAL {
        ...
        rule 4 {
            action accept
            description "Allow IGMP"
            log disable
            protocol igmp
        }
        ...
    }
    ...
}
...

IGMP Proxy

Auf rudimentärem Deutsch: Empfange IGMP-Traffic aus dem Internet und leite ihn in das LAN weiter.

...
protocols {
    igmp-proxy {
        interface switch0 {
            alt-subnet 0.0.0.0/0
            role downstream
            threshold 1
        }
        interface eth5 {
            alt-subnet 0.0.0.0/0
            role upstream
            threshold 1
        }
    }
    ...
}

Multicast-Status abfragen

Um zu überprüfen, ob Multicast grundsätzlich funktioniert, loggt man sich per SSH auf den Router ein und gibt im CLI folgende Befehle ein:

$ show ip multicast interfaces 
Intf             BytesIn        PktsIn      BytesOut       PktsOut            Local
switch0            0.00b             0       31.17MB         24316        Y.Y.Y.1
eth5             31.17MB         24316         0.00b             0   X.X.X.X
$ show ip multicast mfc
Group           Origin           In          Out                Pkts         Bytes  Wrong
239.254.127.63  Y.Y.Y.5        eth5        switch0               1       116.00b      1
239.255.255.250 Y.Y.Y.50       eth5        switch0              56       17.61KB     56
239.77.3.21     77.109.129.16    eth5        switch0           37379       47.91MB      0

Die letzte Zeile war das Resultat, dass ich probehalber Dracula Untold auf Film 4 geschaut habe …

Nachtrag 1: Stream friert ein

Nach der Installation der TV7-App auf dem Apple TV (eigener Blog-Artikel zur App) musste ich entdecken, dass das Bild eines TV-Senders jeweils nach etwas mehr als 3 Minuten einfror (ich tippte nach mehreren Messungen auf ein Timeout von 200 Sekunden — und somit ein strukturelles Problem).

Recht schnell realisierte ich nach etwas Googlen, dass die Firewall-Regel 4 unter WLAN_LOCAL zwingend auch aktiviert werden muss. Diese hatte ich ursprünglich als überflüssig erachtet. Mein Fehler.

Meine Vermutung als IPTV-Laie: Diese (zusätzliche) Regel erlaubt ausgehende IGMP-Pakete. Wenn diese nicht an TV7 gesendet werden können (Heartbeat?), stellt TV7 den Multicast wieder ein. Sobald die Firewall-Rule aktiviert wurde, entfror sich das Bild und die Sendung lief weiter.

Nachtrag 2: Multicast flutet das Netzwerk

Obwohl die Streams nun auf dem Apple TV mit der offiziellen App problemlos laufen, habe ich einen schwerwiegenden Nachteil entdeckt, welcher bei meinem Turris Omnia nicht auftritt: Schaut man mit dem Apple TV einen TV7-Stream, wird das ganze LAN mit Multicast-Paketen geflutet. Dies beeinflusst meinen UniFi Access Point besonders, konnte ich doch einen spürbaren Lag zwischen Tastendruck und Anzeige des Buchstabens auf dem Bildschirm feststellen, wenn ich von meinem MacBook per WLAN per SSH auf einem Laptop im LAN verbunden war.

In meiner derzeitigen Konfiguration sendet der Edgerouter den eingehenden Multicast-Traffic an alle LAN-Interfaces weiter, die am switch0 hängen. Leider habe ich bis jetzt noch keine Lösung gefunden, wie man das auf einzelne Ports einschränken kann (ich brauche eigentlich nur den Apple TV- sowie den Laptop-Port, auf welchem udpxy läuft) respektive wie man IGMP-Snooping aktivieren kann, damit der Edgerouter selber realisiert, welches Gerät/welche Geräte im Netzwerk aktuell gerade Multicast-Streams abspielen möchte.

Links

Tags: , , , , , , , , , , ,
Labels: IT, Linux, Medien, Schweiz

4 Kommentare | neuen Kommentar verfassen

Mittwoch, 23. Mai 2018

Init7 TV7: Beste inoffizielle IPTV-Applikation für Apple TV

(Folgeartikel zum Artikel Init7 TV7: Installation mit einem Turris Omnia-Router)

Init7 bietet zwar eine dedizierte Apple TV-App für TV7 an, doch bereits bei der Ankündigung befürchtete ich, dass die in unserem Haushalt nicht erhältlich sein wird: Wir haben einen Apple TV 4 mit 32GB-Speicher, das Gerät läuft aber auf die us-amerikanische Apple ID meiner Frau. Dementsprechend werden uns im App Store auch nur die weltweit verfügbaren und die für den us-amerikanischen Markt verfügbaren Apps angezeigt.

Keine Spur von der TV7 App:

Nach einigem Pröbeln entschied ich mich für den Kauf resp. die Installation folgender drei vier Apps:

  1. iPlayTV
  2. rIPTV
  3. GSE SMART IPTV
  4. TV Streams

Wichtiger Tipp

Es empfiehlt sich, den Direktlink auf die TV7-Kanalliste (tvchannels.m3u) mit dem iPhone als „Eingabetastatur“ in die Apple TV-Oberfläche einzugeben einzufügen (Copy & Paste) — sonst wird man wahnsinnig, bevor man das mit der Apple TV Remote bewerkstelligt hat.

iPlayTV

Apple App Store Link, Letztes Update: 4. Mai 2017 (!), Kaufpreis: $2.99

Meiner Meinung nach das beste GUI, aber die App funktioniert nicht: Die M3U-URL konnte ich zwar schnurstracks hinterlegen, die Sender werden aus der M3U-Datei ausgelesen und die bekannten darunter mit Logo der Sendestation versehen. Doch wenn ich irgendeinen Kanal auswähle, erscheint folgende Fehlermeldung:

Some problem happened while playing SRF1 HD

Ich habe darauf jede verfügbare Einstellung angepasst, doch schlussendlich gab ich auf: Mit iPlayTV kann man aus irgendeinem Grund keine TV7-Streams empfangen.

rIPTV

Apple App Store Link, Letztes Update: 3. Februar 2018, Kaufpreis: $2.99

Die Applikation meiner Wahl (weil ich es mit iPlayTV nicht hingekriegt habe). Das GUI schaut ebenfalls sehr benutzerfreundlich aus, und ist es auch — iPlayTV wäre aber ein Mü hübscher.

Mit dieser App hatte ich anfänglich das Problem, die M3U-Kanalliste mittels Direktlink einzulesen — das funktioniert irgendwie einfach nicht:

Schlussendlich musste ich mir auch noch die iPhone-App kaufen, die Senderliste mittels der URL importieren (auf dem Smartphone funktioniert es!) und diese dann mittels Fast Load (YouTube-Anleitung) auf den Apple TV pushen.

Seither funktioniert alles Bestens und ich kann mit der App jeden Sender schauen.

Vorteile: Sender-Logos der bekannten (und von TV7 „richtig“ benannten TV-Sendern) werden erkannt, heruntergeladen und angezeigt. Auch holt sich die App von irgendwo aus dem Internet den EPG und zeigt diesen — falls für den Sender verfügbar — automatisch an.

Nachteil: Ändert TV7 dereinst die IPs oder Ports seiner Sender, muss ich das ganze Import und Fast Load-Prozedere erneut durchkauen — und alle Favoriten neu setzen.

GSE SMART IPTV

Apple App Store Link, Letztes Update: 21. Mai 2018, Kaufpreis: Gratis (limitierte Version; mit In-App-Käufen aufrüstbar — oder direkt für $4.99 als Pro-Version kaufen)

Die App sieht schlicht zum Kotzen aus — als hätte sie ein junger, pickliger Bill Gates im Hinterhof zusammengeschustert. Ein solches GUI würde man am ehesten in einer H4x0r/Cracker-Schattenwelt erwarten.

So hässlich die Applikation daherkommt — es war die einzige, die mit dem M3U-Direktlink auf Anhieb funktionierte. Und: Sie erlaubt es sogar, Streams direkt auf den Apple TV aufzunehmen, falls der freien Festplattenplatz aufweist.

TV Streams

Apple App Store Link, Letztes Update: 17. Mai 2018, Kaufpreis: $2.99, Offizielle Homepage

NOCH NICHT AUSPROBIERT

Video-Tutorial, um M3U-Listen hinzuzufügen

Links

Tags: , , , , , ,
Labels: Apple, IT, Linux, Medien, Schweiz

2 Kommentare | neuen Kommentar verfassen

Samstag, 24. März 2018

iphone-blog.ch und die Ankündigung von Salts 10 GBit/s Glasfaser-Angebot

Das Schweizerische iPhone-Blog habe ich eigentlich nur abonniert, um rechtzeitig auf die gelegentlich stattfindenden Rabattaktionen für iTunes-Gutscheine aufmerksam zu werden.

Bei der Lancierung des Salt „10 GBit/s“ Glasfaser-Angebots in dieser Woche stiess mir der Artikel „Salt steigt mit revolutionärer Fiber Box in Schweizer Festnetzmarkt ein – inkl. Apple TV App“ auf dem iPhone-Blog sauer auf: Zu viel Marketing-Blabla und zu viele fragliche Adjektive („revolutionärer“, „ultraschneller“, „weltweit erstes Angebot“, „totale Weltneuheit“). Wieso schreiben Drittparteien, als wären sie direkt von Salt angestellt?

Eine kurze Google-Suche zeigte, dass die Autoren des Blogs schlicht und ergreifend einfach zwei der drei Medienmitteilungen des Anbieters in das Blog kopiert hatten (man nehme jeweils den ersten Satz des ersten resp. sechsten Paragraphen und füge den Text in das Google-Suchformular ein – tada):

Unkritisch wiedergegeben, nichts hinterfragend — dann kann man es auch gleich sein lassen mit Bloggen.

Insbesondere, weil ja bereits kurz nach der Ankündigung die ersten Stimmen laut wurden, welche diese ominösen „10 GBit/s“ in Frage stellten — gemäss Fredy Künzler, dem Inhaber von Init7, teile man bei der von Salt einzusetzenden GPON-Topologie diese Bandbreite mit 31 oder gar 63 Kunden. Rein mathematisch ergibt das dann doch nur noch Bandbreiten von 312.50 MBit/s resp. 156.25 MBit/s pro Dose.

Mein bissiger Kommentar wurde vom Blog jedenfalls nicht freigegeben:

PS: Ich bin Fiber7-Kunde und finde Init7 persönlich einen tollen ISP, bin aber auf keinster Weise wirtschaftlich mit dem Unternehmen verbandelt.

Tags: , , , , , , ,
Labels: Schweiz

Keine Kommentare | neuen Kommentar verfassen

Samstag, 14. Oktober 2017

upc cablecoms Verfügbarkeitsabfrage ist äusserst geschwätzig

upc cablecom bietet auf ihrer Web-Site die Möglichkeit, eine Wohnadresse auf die Verfügbarkeit von upc-Produkten zu überprüfen:

Verfügbarkeit prüfen

Füllt man die erforderlichen Angaben in das Formular ein, erhält man eine rein binäre Antwort für jede der drei Produktkategorien Internet, TV und Festnetz:

Im Hintergrund setzt dafür JavaScript eine Abfrage auf eine upc API ab. Die URL lautet für das vorliegende Beispiel:

https://www.upc.ch/aff-upc-cablecom-ch/aav/availability.json?streetName=Schl%C3%B6sslistrasse&streetNumber=39&postalCode=3008&_charset_=UTF-8&lang=de

Als Antwort erhält man eine Datei namens availability.json zurück. Nachfolgend das Beispiel für meine Wohnadresse:

{
    "addressResultState": "uniqueAddress",
    "addresses": [
        {
            "buildingNumber": 39,
            "buildingNumberAnnex": null,
            "buildingStatusId": 3,
            "buildingStatusName": "completed",
            "communeName": "Bern",
            "coordinateX": "599190",
            "coordinateY": "199475",
            "countryCodeA2": "CH",
            "idBuilding": 131767,
            "locationName1": "Bern",
            "locationName2": "Bern",
            "networkOperatorId": 0,
            "postCode": "3008",
            "postCodeAnnex": "00",
            "postOfficeName": "Bern",
            "stateName": "Bern/Berne",
            "stateShort": "BE",
            "streetName1": "Schl\u00f6sslistrasse"
        }
    ],
    "availability": {
        "accessProvider": null,
        "accessTechnology": null,
        "cablecomRegion": "Nord-West",
        "catv": {
            "available": true,
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "not available"
                ]
            },
            "partnerNetFlag": false
        },
        "dp": {
            "available": true,
            "availableFrom": {
                "day": 5,
                "fractionalSecond": 0.0,
                "hour": 0,
                "minute": 0,
                "month": 9,
                "second": 0,
                "timezone": 120,
                "year": 2000
            },
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "RVO_VSB01",
                    "RVO_VSB02",
                    "RVO_VSB03",
                    "RVO_VSB04",
                    "RVO_VSB05",
                    "RVO_FRC1",
                    "RVO_GBL1",
                    "RVO_FCG1",
                    "RVO_FRC2",
                    "RVO_GBL2",
                    "RVO_FCG2",
                    "RVO_FCE1",
                    "RVO_FCE2",
                    "RVO_FPW1",
                    "RVO_FPW2",
                    "RVO_FPS1",
                    "RVO_FPS2",
                    "RVO_FPP1",
                    "RVO_FPP2",
                    "RVO_BP1",
                    "RVO_BDS13",
                    "RVO_BDS14",
                    "RVO_BDS08",
                    "RVO_BDS11",
                    "RVO_BDS09",
                    "RVO_BDS12"
                ]
            },
            "partnerNetFlag": false
        },
        "dtv": {
            "available": true,
            "availableFrom": {
                "day": 1,
                "fractionalSecond": 0.0,
                "hour": 0,
                "minute": 0,
                "month": 1,
                "second": 0,
                "timezone": 60,
                "year": 1999
            },
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "",
                    "NR_SVD01",
                    "RDC_SFRSD",
                    "RDC_SFRS_M",
                    "RDI_CH01",
                    "RDI_CH04",
                    "RDI_CH05",
                    "RDI_CH06",
                    "RDI_CH07",
                    "RDI_CH08",
                    "RDI_CH09",
                    "RDI_CH09",
                    "RDI_CH10",
                    "RDI_CH11",
                    "RDI_CH17",
                    "RDI_CH17H",
                    "RDI_CH18",
                    "RDI_CH18H",
                    "RDI_CH19",
                    "RDI_CH19H",
                    "RDI_CH20",
                    "RDI_CH20H",
                    "RDI_CH21",
                    "RDI_CH21",
                    "RDI_CH21_M",
                    "RDI_CH21_M",
                    "RDI_CH22",
                    "RDI_CH22_M",
                    "RDI_CH24",
                    "RDI_CH24_M",
                    "RDI_CH25",
                    "RDI_CH25_M",
                    "RDI_CH26",
                    "RDI_CH26_M",
                    "RDI_CH27",
                    "RDI_CH27_M",
                    "RDI_CH28",
                    "RDI_CH28_M",
                    "RDI_CH30",
                    "RDI_CH31",
                    "RDI_CH32",
                    "RDI_CH33",
                    "RDI_CH40",
                    "RDI_CH40_M",
                    "RDI_CH41",
                    "RDI_CH41",
                    "RDI_CH42",
                    "RDI_CH44",
                    "RDI_CH47",
                    "RDI_CH47",
                    "RDI_CH48",
                    "RDI_CH49",
                    "RDI_CH50",
                    "RDI_CH51",
                    "RDI_CH52",
                    "RDI_CH53",
                    "RDI_CH54",
                    "RDI_CH55",
                    "RDI_CH56",
                    "RDI_CH57",
                    "RDI_CH59",
                    "RDI_CH60",
                    "RDI_CH61",
                    "RDI_CH62",
                    "RDI_CH65",
                    "RDI_CH66",
                    "RDI_CH67",
                    "RDI_CH68",
                    "RDI_CH72",
                    "RDI_CH73",
                    "RDI_CH74",
                    "RDI_CH81",
                    "RDI_CH93",
                    "RDI_CH97_M",
                    "RDI_D4A_97",
                    "RDI_DUMW",
                    "RDI_DWISR1",
                    "RDI_DWISS1",
                    "RDI_DWR1",
                    "RDI_DWS1",
                    "RDI_HCOD",
                    "RDI_HRZ06",
                    "RDI_HRZ11",
                    "RDI_HRZ17",
                    "RDI_HRZ17",
                    "RDI_CH81",
                    "RDI_HRZ17H",
                    "RDI_HRZ81",
                    "RDI_HRZ18",
                    "RDI_HRZ18H",
                    "RDI_HRZ19",
                    "RDI_HRZ19H",
                    "RDI_HRZ20",
                    "RDI_HRZ20H",
                    "RDI_HRZ21",
                    "RDI_HRZ21",
                    "RDI_HRZ22",
                    "RDI_HRZ24",
                    "RDI_HRZ25",
                    "RDI_HRZ26",
                    "RDI_HRZ27",
                    "RDI_HRZ28",
                    "RDI_HRZ40",
                    "RDI_HRZ52",
                    "RDI_HRZ53",
                    "RDI_HRZ83",
                    "RDI_HRZCL",
                    "RDI_HRZCO",
                    "RDI_HRZDS",
                    "RDI_HRZ_97",
                    "RDI_PREM1",
                    "RDI_PREM2",
                    "RDI_PREM_M",
                    "RDI_PRM",
                    "RDI_PRMM",
                    "RDI_SPTV",
                    "RDI_SPTV_M",
                    "RDI_SVD_51",
                    "RDI_SVD_51",
                    "RDI_SVD_51",
                    "RDI_SVD_52",
                    "RDI_SVD_52",
                    "RDI_SVD_52",
                    "RDI_SVD_59",
                    "RDI_SVD_60",
                    "RHZ_CLAS7",
                    "RHZ_CLAS8",
                    "RHZ_PREM1",
                    "RHZ_PREM2",
                    "RHZ_PRM",
                    "RHZ_SFRSH",
                    "RHZ_SPTV",
                    "RDI_CTDV",
                    "RDI_DUMS",
                    "RDI_DUMM"
                ]
            },
            "partnerNetFlag": false
        },
        "dtvActicationCode": "203",
        "dtvDistributionModel": "Vertriebsmodell Cablecom",
        "dtvSetupId": "01810000",
        "ftthBuildingStatus": null,
        "ftthSla": null,
        "hs": {
            "available": true,
            "availableFrom": {
                "day": 5,
                "fractionalSecond": 0.0,
                "hour": 0,
                "minute": 0,
                "month": 9,
                "second": 0,
                "timezone": 120,
                "year": 2000
            },
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "DHS_BSO",
                    "RHS_BDS06",
                    "RHS_BDS07",
                    "RHS_BDS08",
                    "RHS_BDS09",
                    "RHS_BDS10",
                    "RHS_BDS11",
                    "RHS_BDS12",
                    "RHS_BDS13",
                    "RHS_BDS14",
                    "RHS_BDS15",
                    "RHS_BDS16",
                    "RHS_BDS17",
                    "RHS_BDS18",
                    "RHS_BDS20",
                    "RHS_BDS21",
                    "RHS_HC256",
                    "RHS_HS02",
                    "RHS_HS05",
                    "RHS_HS06",
                    "RHS_HS08",
                    "RHS_HS09",
                    "RHS_HS11",
                    "RHS_HS12",
                    "RHS_HS13",
                    "RHS_HS14",
                    "RHS_HS15",
                    "RHS_HS16",
                    "RHS_HS17",
                    "RHS_HSED13",
                    "RHS_HSED21",
                    "RHS_HSED30",
                    "RHS_HSED32",
                    "RHS_NDH25",
                    "RHS_HSED10",
                    "RHS_HSED11",
                    "RHS_HSED12",
                    "RHS_HSED14",
                    "RHS_HSED15",
                    "RHS_HSED16",
                    "RHS_HSED17",
                    "RHS_HSED18",
                    "RHS_HSED19",
                    "RHS_HSED20",
                    "RHS_HSED22",
                    "RHS_HSED23",
                    "RHS_HSED24",
                    "RHS_HSED25",
                    "RHS_HSED26",
                    "RHS_HSED28",
                    "RHS_HSED29",
                    "RHS_WOO"
                ]
            },
            "partnerNetFlag": false
        },
        "idBuilding": 131767,
        "languageRegion": "DE",
        "longText": "An Ihrem Standort ist bereits alles vorbereitet. Melden Sie sich jetzt online an und schon in wenigen Tagen k\u00f6nnen Sie vom gew\u00fcnschten Produkt profitieren.",
        "mobile": {
            "available": true,
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "ALL"
                ]
            },
            "partnerNetFlag": false
        },
        "vod": {
            "available": true,
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "BM_VODKIT"
                ]
            },
            "partnerNetFlag": false
        }
    },
    "availabilityResultState": "availabilityFound"
}

(Lesbar gemacht mit Google Chrome unter die Haube schauen (und JSON lesbar ausgeben))

Einige Erkenntnisse:

  • Diese API rechnet Strassenanschriften ins Schweizer Koordinatensystem um (600:200, irgendjemand?).
  • Das JSON sagt auch, wann das Gebäude an das cablecom-Netz angeschlossen wurde (Internet am 5. September 2000, Fernsehen am 1. Januar 1999 (wahrscheinlich ein Dummy-Wert, oder aber cablecom hat zu dem Stichtag das Berner Kabelnetz übernommen?)).
  • Benötigt mein Gebäude ein Upgrade? Aus meiner Sicht ein möglicher Hinweis auf Probleme in der Hausverkabelung und somit auf mögliche Geschwindigkeitseinbussen.
  • Es gibt drei Produktekategorien: dtv steht für Digital TV, hs steht für Highspeed (Internet) und dp wohl für Digital Phone.
  • Für jede Produktkategorie wird fein säuberlich aufgelistet, welche Packages verfügbar sind. Leider ist es mir nicht möglich, die Abkürzungen dieser Packages zu entziffern. Bei Digital TV vermute ich, dass einzelne Sender aufgelistet werden. Bei Highspeed Internet könnten es die effektiv verfügbaren Geschwindigkeiten sein.
  • Im JSON sind auch der Activation Code und die Setup ID aufgeführt, die man auf der Horizon-Box oder dem TV-Gerät für die Kanalsuche eingeben muss.
  • Schlussendlich sieht man auch, ob ein Gebäude an das (upc?) Glasfasernetz angeschlossen ist.

Tags: , , , , , ,
Labels: IT, Schweiz, Shopping

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 14. Mai 2017

Anrufer werden auf dem iPhone namentlich identifiziert, ohne dass local.ch oder search.ch installiert sind

Gestern erzählte mir meine Frau von einer „neuen“ Funktion, die ihr iPhone besitze: Erhalte sie Anrufe von Firmen, die nachweislich nicht in ihrem Adressbuch erfasst sind, zeige das iPhone im Anruffenster trotzdem bereits den Firmennamen an (konkret die Planzer Transport AG und die Societe de Navigation).

Ich glaubte ihr das nicht und machte mich auf ihrem iPhone auf die Suche nach einer Schweizerischen Applikation, welche die Telefonnummern bei einem eingehenden Anruf über das Internet nachschlägt. Doch tatsächlich, Fehlanzeige: Ich konnte keine solche App entdecken (am entferntesten kam höchstens noch die Applikation der Schweizerischen Post in Frage, aber ich hatte noch nie von dieser Funktionalität in Bezug auf diese App gelesen).

Darauf begann ich, im Netz nachzuforschen. Allgemein bekannt ist, dass die Apps von search.ch und local.ch eine solche Funktionalität mitbringen, wobei meistens aber dieses eine Feature zum Blockieren von Callcenter-Anrufen prominent besprochen wird. Diese Apps waren aber nicht installiert (bei mir mittlerweile local.ch).

Schlussendlich fand ich aber dann doch die (vermutete) Lösung des Rätsels: „Swisscom Advanced Calling“.

Swisscom hat ihr 4G/LTE-Datennetz in der Schweiz und dem Fürstentum Liechtenstein für die IP-Telefonie (Voice over LTE-Technologie) fit gemacht. VoLTE sorgt bei Kunden mit entsprechendem Smartphone für ein noch besseres Sprach- und Telefonie-Erlebnis. Ein weiterer Meilenstein ist WiFi Calling, das nebst Surfen auch Telefonieren über jeden beliebigen WLAN Zugang möglich macht.

Namensanzeige

Die Namen von Personen und Firmen, die ihre Nummer in das öffentliche Telefonbuch eingetragen haben, werden bei einem ankommenden oder verpassten Anruf auf dem Gerät angezeigt.

Quelle: Advanced Calling Telefonie auf höchstem Niveau erleben.

Tags: , , , , , ,
Labels: Schweiz

3 Kommentare | neuen Kommentar verfassen

Donnerstag, 4. Mai 2017

Preisreferenzen von gebrauchten Geräte für meine AlleKleinanzeigen-Suchen

Vor einigen Tagen bin ich auf die Meta-Suchmaschne AlleKleinanzeigen.ch gestossen. Mit dieser Suchmaschine kann man die gängigsten Schweizer Angebots-Plattformen für Kleinanzeigen wie Ricardo.ch, Tutti und Anibis durchsuchen. Man findet so innert Sekunden heraus, ob ein gebrauchter Artikel irgendwo in der Schweiz verfügbar ist oder nicht — und zu welchen Preisen.

Das Beste: Man kann sich eine Suche nach bestimmten Wörter auch per E-Mail abonnieren — das bedeutet, dass auf einer der durchsuchten Plattformen ein neuer Artikel online gestellt und von AlleKleinanzeigen.ch indexiert wurde, eine E-Mail an den Abonnenten ausgelöst wird. Völlig kostenlos, selbstverständlich.

Ab sofort kann ich die Suche nach Geräten und Gegenständen automatisieren, welche ich nicht sofort benötige, sondern erst dann, wenn mir ein preislich ansprechendes Schnäppchen vor die Flinte läuft.

Damit ich aber sicher bin, ein Schnäppchen zu machen, musste ich mir zuerst einmal herausschreiben, was der Neupreis eines Geräts beträgt. Dieser Blog-Post hilft mir dafür als Langzeitgedächtnis.

KitchenAid Mixer Artisan KSM150

Das günstigste Angebot im Mai 2017 war ein oranger tangerine KitchenAid Artisan KSM150 (5KSM150PSETG) bei Venova für 420 CHF. Im Februar 2017 fand ich beim selben Shop sogar ein identisches Gerät in der äusserst hässlichen Farbe „Terracotta“ — für 380 CHF, also noch einmal 40 Stutz günstiger.

Somit ist klar, dass ein solches gebrauchtes Gerät unter 400 CHF kosten sollte, damit es sich lohnt, auf die zweijährige Garantie zu verzichten.

KitchenAid Mixer Classic K45

Die günstigste Variante bei einem renommierten Online-Shop (Galaxus) kostet 377 CHF.

Mir ist übrigens aufgefallen, dass KitchenAids jeweils vor Weihnachten mit „Aktionen“ angepriesen werden — Coop bewarb im Dezember 2016 beispielsweise ein ähnliches Set für 799 CHF. Was ich mir deshalb gemerkt habe: Gerade bei diesen Küchengeräten ist es ratsam, die Marktsituation ausreichend abzuklären, sonst zahlt man locker einige hundert Franken drauf.

Sonos Play:1, Play:3 und Play:5

Für einen DINK-Haushalt würde es eigentlich zum guten Ton gehören, diesen mit Lautsprechern von Sonos ausgestattet zu haben. Wie man dabei vorgeht, hat mein Lieblings-Gadget-Blogger vowe in einem Artikel „How to get started with SONOS“ beschrieben. Sonos hat den Weg noch nicht zu uns gefunden, weil die Dinger schlichtweg zu teuer sind.

Vielleicht ändert sich das ja bald, sobald ich ein paar Schnäppchen erstanden habe. Dazu müssen diese folgende Preise stark unterschreiten:

Toppreise-Suche nach Sonos (nach günstigstem Betrag geordnet)

  • Play:1 (Single) für 214.95 CHF (microspot)
  • Play:1 (Bundle) für 409 CHF (digitec), sprich für 204.50 CHF/Stück
  • Play:3 296 CHF (microspot)
    Am 4. Mai gab es auch eine „wiederaufbereitete“ Version für 269 CHF
  • Play:5 (zweite Generation) 517 CHF (microspot)

Tags: , , , , , , , , , , , ,
Labels: Schweiz, Shopping, Web

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 1. November 2016

upc cablecom Performance an der Melchtalstrasse im Breitenrain

Eine Bekannte von mir hat sich vor einigen Wochen darüber beschwert, dass die Performance ihrer Internetverbindung von upc cablecom (Quadruple Play Kabel-Anbieter hier in der Schweiz) in ihrer Wohnung an der Melchtalstrasse im bernischen Breitenrain gelegentlich zu wünschen übrig lässt.

Sie war sich sicher, dass die in ihrem aktuellen Internet-Abo als Best Effort versprochene 200 MBit/s Downloadgeschwindigkeit und 20 MBit/s Uploadgeschwindigkeit während den angesprochenen Phasen nie und nimmer erreicht werden.

Ich habe ihr deshalb Anfangs Oktober 2016 einen Linux-Laptop (Lenovo X200s mit Gigabit-Ethernet, welcher mit Cat 5e-Kabel direkt am Router TP-LINK WNDR3600 hängt) ins Netzwerk gehängt, welcher jede Stunde einen Ookla Speedtest mit dem Fiber7-Server durchführt und mir die Werte zurückmeldet.

Nach drei Wochen Monitoring verfestigt sich das Bild, dass mit der Internet-Anbindung tatsächlich etwas faul ist. An praktisch jedem Tag zeigt sich im RRDtool-Graph dasselbe Bild: Ab ca. 18 Uhr bricht die Downloadgeschwindigkeit von annähernd 200 MBit/s zunehmend ein, erreicht mit ca. 40 MBit/s den Tiefpunkt und erholt sich ab 22 Uhr langsam wieder:

upc-cablecom-melchtalstrasse-bern-tag

upc-cablecom-melchtalstrasse-bern-woche

Meine Vermutung: Im Breitenrain könnte die Studentendichte sowie die Dichte der Yuppies sehr hoch sein. Diese schauen nach Feierabend nicht TV, sondern werfen sich Netflix & Konsorten (vielleicht sogar Bittorrent?) an und streamen sich die TV-Sendungen und Filme ihrer Wahl. Was dafür spricht: Am letzten Wochenende war der Einbruch noch dramatischer als unter der Woche. Der Graph zeigt, dass ausserhalb der Stosszeiten die versprochenen Bandbreiten erreicht werden.

Und nein, meine Bekannte sabotiert sich nicht selber: Sie hat unregelmässige Arbeitszeiten (Früh- und Spätschicht, manchmal auch an Wochenenden), weshalb sie in vielen Fällen von den Geschwindigkeitseinbrüchen gar nichts mitbekommt.

Und was tut der ISP, der hoffentlich über ein viel, viel ausgeklügelteres Monitoring verfügt als ich? Nichts. Wie für unsere Halunken-ISPs hier in der Schweiz so üblich versteckt man sich hinter der Vertragsklausel Best Effort, überbucht das Netz gnadenlos und lenkt den Umsatz nicht in den Ausbau des Netzes, sondern lässt diesen in die Taschen der grosskapitalistischen Shareholder in Übersee fliessen. Und natürlich hofft man darauf, dass der dumme Benutzer nicht auf die Idee kommt, regelmässig Geschwindigkeitsmessungen durchzuführen.

upc cablecom, bitte aufwachen! Im Breitsch braucht es eine grössere Leitung, aber bitte zack zack!

Tags: , , , , , , , , , , , , ,
Labels: Schweiz

Keine Kommentare | neuen Kommentar verfassen

Samstag, 8. Oktober 2016

Der neueste Furz der Zürcher Öko-Päpste

Ich, soeben auf Facebook:

Und jetzt karren die Zürcher Restaurations-Öko-Päpste anstelle Wasserflaschen halt einfach Kohlensäure-Flaschen quer durch die Schweiz, brauchen Atomstrom zur Kühlung und verwenden wohl auch eine in China produzierte und über die Weltmeere geschipperte „Wasseraufbereitungsmaschine“ (graue Energie, irgendjemand?).

Und natürlich fliegen die WFW-NGO-Lölis mindestens zwei Mal im Jahr mit dem Flieger nach Afrika, um den Fortschritt ihres Feigenblatt-Projektes zu begutachten. Flick fort.

Kritik auf den Artikel: Zürcher Wirte verbannen Marken-Mineralwasser

Tags: , , , ,
Labels: Schweiz

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 17. Juli 2016

Das jährliche Leid des Mieters mit der Nebenkostenabrechnung

(Aktualisiert am 21. November 2021; Auszahlungsdatum der diesjährigen Nebenkosten ergänzt)

Seit Juni 2012 lebe ich mit Stephanie in unserer ersten gemeinsamen Mietwohnung — es handelt sich zudem auch um mein erstes richtiges Mietverhältnis. Das sind nun bereits vier sechs neun lehrreiche Jahre …

Abgesehen davon, dass man der Hausverwaltung ständig hinterherrennen muss (aktuelle Beispiele: Austausch Leuchtstoffröhre im öffentlichen Teil des Kellers; seit einem Jahr vergessene, aus dem Boden herausragende Eisenstangen vom Rückbau der Parkplätze vor dem Haus; jährlich wiederkehrend verstopfte Dachkännel) stört mich als ordnungsliebenden Schweizer Bünzli vor allem der Modus für die Rückerstattung der Nebenkostenabrechnungen.

Im 2012 unterzeichneten Vertrag steht:

Mietvertrag Nebenkosten

Soweit nichts anderes vereinbart worden ist, erstellt die Vermieterin jährlich eine detaillierte Gesamtabrechnung, […]

Ursprünglich ging ich davon aus, dass „jährlich“ bedeutet, dass die Abrechnung per Ende Kalenderjahr erfolgt. Irrtum! Aus Sicht des Vermieters endet die Rechnungsperiode jeweils am 30. April (ich gehe davon aus, dass dieses Datum das Ende der Heizperiode signalisiert). Aus juristischer Sicht wohl zulässig, da im Vertrag nicht explizit steht „zum Ende des Kalenderjahres“.

Gute zweieinhalb Monate nach Ende der Rechnungsperiode (Mitte Juli) erhalten wir dann jeweils die Abrechnung (es muss extrem aufwändig sein, so eine Abrechnung zu erstellen):

Brief Nebenkostenabrechnung

Der Vermieter verspricht, Beträge zu unseren Gunsten Ende August an uns zu überwiesen — Nachzahlungen von unserer Seite gab es in den vier sechs Jahren notabene noch nie:

Saldo zu Ihren Gunsten

Während der Vermieter sich für die Auszahlung des Überschusses nach der Abrechnung noch einmal eineinhalb Monate Zeit lässt, wäre man als Vermieter gezwungen, Differenzen („Saldo zu unseren Gunsten“) innert 30 Tagen zu begleichen:

[…] wobei Unterschiede zugunsten oder zulasten des Mieters innert 30 Tagen nach Vorlage der Abrechnung auszugleichen sind.

Schöne asymmetrische Ausführung von Vertragsbestimmungen.

Doch jetzt kommt der eigentliche Hammer — wann trifft das Geld tatsächlich ein? Ich habe nachgeschaut:

14. Oktober 2013 535.05 CHF
25. September 2014 724.80 CHF
2. November 2015 693.35 CHF
26. August 2016 582.25 CHF
25. Juli 2017 573.40 CHF
4. September 2018 551.10 CHF
27. September 2019 565.55 CHF
29. September 2020 519.90 CHF
26. August 2021 457.50 CHF

Zusammengefasst:

30. April Ende Rechnungsperiode
Mitte Juli Erhalt Brief Nebenkostenabrechnung
30. August versprochene Überweisung des Überschusses
Ende Juli-Anfang November effektive Überweisung des Überschusses

Im derzeitigen Tiefzinsumfeld fallen in den fünf bis sechs Monaten zwischen Abrechnung und Auszahlung zum Glück kaum Zinsgewinne an. Störend ist es aber allemal, und festigt in mir die Abneigung gegenüber Liegenschaftsverwaltungen wie auch Miethäuserbesitzer.

Tags: , , , ,
Labels: Leben, Schweiz

Keine Kommentare | neuen Kommentar verfassen